10

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

我想做类似的事情:

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

但这当然行不通。

4

2 回答 2

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)
于 2012-07-22T19:38:38.853 回答
3

GQL 中没有 len 查询语义,您需要有一个单独的属性来表示列表的长度并对其进行查询。

于 2012-07-21T19:42:04.397 回答