当前位置: 代码迷 >> python >> 是否可以在Google App Engine中查询NDB JsonProperty? 如果没有,还有其他选择吗?
  详细解决方案

是否可以在Google App Engine中查询NDB JsonProperty? 如果没有,还有其他选择吗?

热度:44   发布时间:2023-07-14 09:48:53.0

有什么方法可以在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并将所有自定义属性保留在相同的“名称”上似乎要容易得多; 定制。 这意味着前端可以只遍历自定义属性。 如果将使用expando类,将很难区分。

您已考虑使用StructuredProperty,而不是使用JSONProperty。 您可以维护相同的结构,只是存储方式不同,并且可以按某些限制按StructureProperty的子组件进行过滤,但这可能就足够了。

请参阅

用于查询StructuredProperties。

  相关解决方案