【发布时间】:2013-06-17 12:25:23
【问题描述】:
我已经尝试从 GAE 数据存储中删除一个实体已有数小时了,但它无法正常工作。我几乎和how to delete NDB entity using ID?做了同样的事情,但是我确定问题出在祖先关系上。
这是相关的代码:
try:
ndb.Key('NewsBase', int(self.request.get('delid'))).delete()
当我打印出ndb.Key (self.request.out.write...) 时,我会得到类似Key('NewsBase', 8008) 的信息,这是正确的 ID(已在数据存储中检查)。在仪表板中,我还获得了“已解码实体密钥”,即
NewsBase: name=mynews > NewsBase: id=8001
我对如何包含祖先信息有点困惑,但据我所知Using Key in NDB to retrieve an entity我根本不需要它,或者我不需要它吗?
编辑:我如何创建密钥
def news_key(base_name='mynews'):
return ndb.Key('NewsBase', base_name)
t = NewsBase(parent=news_key('mynews'))
t.user = user
t.put()
【问题讨论】:
-
您是否正在尝试创建一个结构,其中
NewsBase实体将成为更多NewsBase实体的父级?你确定你不是故意的吗t = NewsBase(key=news_key('finagnews'))?