NDB で繰り返されるプロパティのアイテム数でクエリを実行するための効率的なメカニズムはありますか?
私は次のようなことをしたいと思います:
Class.query(class.repeated_property.count == 2)
もちろん、これは機能しません。
NDB で繰り返されるプロパティのアイテム数でクエリを実行するための効率的なメカニズムはありますか?
私は次のようなことをしたいと思います:
Class.query(class.repeated_property.count == 2)
もちろん、これは機能しません。
具体的には、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)
GQL には len クエリのセマンティックはありません。リストの長さを示す個別のプロパティが必要であり、それに対してクエリを実行する必要があります。