删除数据存储区GAE中的特定行

时间:2014-11-30 00:38:22

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

我正在尝试删除数据存储区Google应用引擎中的特定行。条目列表显示在网页中,用户单击按钮删除特定条目,这应该反映数据存储。从jinja模板中,当用户点击删除按钮时,我将传递条目的ID。下面的python代码应该处理数据存储区中的删除操作。

def post(self,id):
    q = db.GqlQuery('SELECT * FROM Input WHERE ID=:1', id)
    for msg in q:
        db.delete(msg)  # msg.delete() #I tried these both stil not working

它没有向我显示任何错误消息并显示HTTP 200消息。但是,当我检查数据存储区时,enrty不会被删除:( 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

我猜测正在发生两件事之一:一件是id不是你所期望的,而且查询不是返回实体(一些日志记录会将其说出来)。另一个是你看到了“最终一致性”的影响,详细描述了here。对此的测试是,您是否仍然看到实体在经过一段时间后。第二个问题的解决方法是从事务中删除实体。