获取attributeError:类型对象'Level_2_Headings'没有属性'ancestor'(GAE数据存储区)

时间:2013-01-03 20:28:49

标签: python google-app-engine datastore ancestor

我正在使用GAE,Datastore,Python 2.7,并且是第一次使用祖先在数据存储区中创建/更新条目。在这里,我试图查看Level_2_Headings数据存储区中是否有任何条目/行,如果没有,则创建一个新的。如果确实存在,则更新说明。我收到此错误 - Level_2_Headings的数据存储区为空,因此它应该返回空,以便我可以添加新条目,但相反,我在查询中遇到错误{{ 1}}我使用祖先属性的对象 - 当我期望只返回一个空对象时,为什么会这样做的任何想法,因为它不存在于数据存储区中?通常会得到帮助。

q2

1 个答案:

答案 0 :(得分:1)

您直接引用Level_2_Heading模型,而不调用all()来检索记录。 Level_2_Headings.all()将返回具有ancestor属性的对象,因此请尝试将您的第一个q2更改为:

q2 = Level_2_Headings.all().ancestor(q.key()).filter("name2 =",heading2).get()