google-app-engine - how - ndb properties
Consultando una propiedad repetida por conteo en NDB (2)
¿Existe un mecanismo eficiente para consultar por el número de elementos en una propiedad repetida en NDB?
Me gustaría hacer algo como:
Class.query(class.repeated_property.count == 2)
pero por supuesto esto no funciona.
No hay semántica de consulta len en GQL, necesitará tener una propiedad sperate para la longitud de la lista y consultarla.
Específicamente, puede usar ComputedProperty para almacenar automáticamente el recuento, por ejemplo
class X(ndb.Model):
prop = ndb.StringProperty(repeated=True)
prop_count = ndb.ComputedProperty(lambda e: len(e.prop))
X.query(X.prop_count == 2)