Использование сортировки GQL по количеству ListProperty
Если у меня есть объект db.Model, такой как:
class Foo(db.Model):
title = db.StringProperty()
bars = db.ListProperty(db.Key)
и я хотел бы запросить в хранилище данных все сущности Foo и отсортировать те, которые установлены объектами Foo, которые имеют наибольшее количество баров, как бы я написал GQL?
Я надеялся на что-то простое, как:
fooQuery = db.GqlQuery("SELECT * FROM Foo ORDER BY len(bars) DESC"
но это не работает...
1 ответ
Решение
Если вам нужно сделать что-то подобное, вам нужно будет включить другое IntegerProperty для хранения длины и синхронизировать его самостоятельно. GQL не поддерживает этот запрос.