在NDB / GAE中的查询中是否有使用JsonProperties的方法?我似乎无法找到有关此信息的任何信息。
Person.query(Person.custom.eye_color == "blue").fetch()
模型看起来像这样:
class Person(ndb.Model):
height = ndb.IntegerProperty(default=-1)
#...
#...
custom = ndb.JsonProperty(indexed=False, compressed=False)
用例是这样的:我存储有关客户的数据,我们首先只需查询特定数据。现在,我们希望能够查询有关这些人的任何类型的注册数据。例如,一些可能放入系统的眼睛颜色,或者我们的JsonProperty中的任何其他自定义键/值对。
我知道expando类,但对我来说,能够查询jsonproperty并将所有自定义属性保持在同一个" name&#34 ;;定制。这意味着前端可以在自定义中循环遍历属性。如果使用expando类,则难以区分。
答案 0 :(得分:2)
您考虑使用StructuredProperty,而不是使用JSONProperty。你保持相同的结构,只是以不同的方式存储,你可以通过一些限制来筛选StructureProperty的子组件,但这可能就足够了。
请参阅https://developers.google.com/appengine/docs/python/ndb/queries#filtering_structured_properties
用于查询StructuredProperties。