0

我正在查看一些 Python 代码并尝试使用我认为的祖先路径。

def parent_key(name = 'default'):
    return ndb.Key('MyEntity', name)

我们所拥有的任何地方

 MyEntity.get_by_id(someId, parent = parent_key())

我试图找到文档或解释为什么这样做,因为这些实体在关系意义上没有真正的“父”。

我已经阅读了一些关于 GAE 文档的内容,但仍然不清楚何时以及何时不这样做。

4

1 回答 1

1

通过使实体具有相同的父级,您可以使它们成为同一实体组的一部分,这可用于使查询保持一致。通常,数据存储不保证实体可以在保存后直接获取。它最终会出现,但这可能需要几秒钟。

但是,当您执行祖先查询时,它确实保证了强一致性,这就是为什么文档中的大多数介绍性示例代码都会创建具有相同父级的所有实体。这使得在保存数据后立即获取数据变得更加容易,但它确实将对该实体组的更改限制为大约每秒一次写入。

文档中的Structuring Data for Strong Consistency一章有更多详细信息。

于 2013-03-10T21:14:01.307 回答