【问题标题】:Control indexing for ndb.Expando model propertiesndb.Expando 模型属性的控制索引
【发布时间】:2018-05-15 15:14:11
【问题描述】:

我有一个包含 ndb.Expando 模型作为结构化属性的 ndb.Model,我希望能够控制索引,但我在文档中找不到任何关于它的内容。

class MyModel2(ndb.Expando):
    pass

class MyModel(ndb.Model):
    sub_entity = ndb.StructuredProperty(MyModel2)

我能找到的唯一文档如下:

您可以为结构化属性指定常用属性选项 (索引除外)

我认为这是因为应该在嵌入式模型中基于每个属性指定实际索引。但是,尚不清楚如何在 Expando 模型属性上启用或禁用索引。

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore


    【解决方案1】:

    你可以使用 _properties 对象来设置一个字段是否应该被索引。例如

    a = MyModel2()
    a.value = '3'
    a._properties['value']._indexed = False
    

    您可以在_properties 上找到文档以了解更多详细信息。

    【讨论】:

    • 这很棒。我正在查看该文档,并且没有任何示例包含设置属性,仅查看它们。您是否有任何明确设置它们的参考。
    • 酷。我可能会深入研究 Python SDK 以查看是否可以看到任何内容,但这对我来说已经足够了。谢谢。
    猜你喜欢
    • 2019-01-02
    • 2021-04-06
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 2013-06-03
    • 2014-06-16
    相关资源
    最近更新 更多