通过NDB中的count来查询重复的属性

时间:2012-07-21 17:40:30

标签: google-app-engine app-engine-ndb

是否有一种有效的机制来查询NDB中重复属性中的项目数?

我想做点什么:

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

但当然这不起作用。

2 个答案:

答案 0 :(得分:25)

具体来说,您可以使用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)

答案 1 :(得分:3)

GQL中没有len查询语义,您需要为列表的长度和查询提供sperate属性。