【问题标题】:GOOGLE APP ENGINE - NDB - KEY谷歌应用引擎 - NDB - KEY
【发布时间】:2013-09-18 19:18:11
【问题描述】:

我有表 A 和 AEXT。

我想为 AEXT 使用相同的 KEY/ID,因为表 A 和表 AEXT 之间的关系是 1-1,顾名思义,AEXT 具有 A 的扩展/附加属性。

有人可以告诉我如何在 NDB/Python 中做到这一点。

提前致谢

【问题讨论】:

  • 除了答案之外,在您放弃表的概念之前,您将在 appengine 数据存储方面遇到困难。您有一个实体存储,您可以通过唯一键存储/检索实体。此外,您还设置了为实体的特定属性组合定义的独立索引。

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


【解决方案1】:

两个“表”(实际上是实体类型)可以具有相同的键名,只要它们在数据存储中具有不同的路径即可。路径是实体及其所有祖先的种类/名称。例如,您可以这样做:

a_key = ndb.Key(A, 'mykey')
aext_key = ndb.Key(AEXT, 'mykey')

现在这些键会有所不同,但您可以使用相同的键名重新构造它们,'mykey'。一旦你有了钥匙,你就可以自己抓住实体。

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2015-05-15
    相关资源
    最近更新 更多