【发布时间】:2012-07-06 12:02:20
【问题描述】:
我曾经使用get_by_id 从数据存储区获取实体,但从不使用Ancestor Paths。但是我的模型的复杂性使它变得很有必要。事实上,祖先路径解决了一个大问题,但现在当我尝试 get_by_id 一个实体返回 None 时,如果该实体具有父键。这意味着我需要添加父Key:
entity = MyModel.get_by_id(id)
这将变成:
entity = MyModel.get_by_id(id, parent=key)
如何构建父Key?
编辑:
此时我更喜欢保留祖先路径并添加另一个 keyproperty。
【问题讨论】:
-
注意get_by_id中的id是一个整数。
-
谢谢,我知道了:
int(self.request.get('id')) -
我不能直接回答你的问题,因为你父母的定义将非常依赖于你设计的数据模型。 get_by_id 中的父级可以是键或实体。我假设您已经阅读了如何构造密钥developers.google.com/appengine/docs/python/datastore/keyclass
-
parent() Returns the Key of the data entity's parent entity, or None if the entity has no parent.如果我因为不知道 Parent 键而无法获取实体,我该如何使用此方法?注意:我使用的是NDB docs -
正如我所说,它非常依赖于您的数据模型。如何在您的模型和 URL 遍历方案中包含一些详细信息。这应该是显而易见的。
标签: google-app-engine google-cloud-datastore app-engine-ndb