3

В App Engine NDB, я запрашиваю объекты, которые имеют повторяющееся свойство. Я хотел бы заказать результат по длине массива, представляющего это свойство.NDB: Сортировка результатов запроса

То, что я хотел бы сделать:

Entity.query(...).order(len(Entity.repeatedProp)) 
+0

Вам нужно будет сделать это в коде python после использования 'sorted' –

ответ

3

Вам нужно добавить ndb.IntegerProperty() к вашей организации, где вы будете хранить длину повторного свойства. Каждый раз, когда вы меняете повторяющееся свойство, вам нужно обновить сохраненную длину. Затем вы сортируете на основе сохраненной длины.

Возможно, вы можете использовать вычисленное свойство, но я никогда не использовал один из них, поэтому я не уверен.

+4

Вот как его использовать' ndb.ComputedProperty (lambda self: len (self.repeatedProp)) ' –

0

В зависимости от того, сколько объектов вы сортируете, вы можете отсортировать его по коду.

Смежные вопросы