Запрос повторяющегося свойства по счету в NDB

Есть ли эффективный механизм для запроса по количеству элементов в повторном свойстве в NDB?

Я хотел бы сделать что-то вроде:

Class.query(class.repeated_property.count == 2)

но, конечно, это не работает.

Ответ 1

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

class X(ndb.Model):
  prop = ndb.StringProperty(repeated=True)
  prop_count = ndb.ComputedProperty(lambda e: len(e.prop))

X.query(X.prop_count == 2)

Ответ 2

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