Is there an efficient mechanism for querying by the number of items in a repeated property in NDB?
I'd like to do something like:
Class.query(class.repeated_property.count == 2)
but of course this doesn't work.google-app-engineapp-engine-ndb
There is no len query semantic in GQL, you will need to have a sperate property for the length of the list and query on it.
Specifically, you can use ComputedProperty to automatically store the count, e.g.
class X(ndb.Model): prop = ndb.StringProperty(repeated=True) prop_count = ndb.ComputedProperty(lambda e: len(e.prop)) X.query(X.prop_count == 2)