删除 NDB 中的实体 last child 总是被删除
Deleting Entities in NDB last child is always being deleted
我的模型类似于 Python GAE(问候语和作者)文档中的示例。我在删除时遇到问题,因为删除的总是最后一个 child 而不是我要删除的实体。
class Delete(webapp2.RequestHandler):
def post(self):
greeting_key = ndb.Key(urlsafe=self.request.get('for_deletion')) #it's the key's urlsafe that is being passed here
greeting_key.delete()
self.redirect('/events')
这是生成请求的代码片段:
self.response.write('''<br><br><form action="/delete" method="post">
<input type="hidden" name="for_deletion" value="%s">
<input type="submit" value="Delete Most Recent Info"><br><br>
<form>
''' % post.key.urlsafe())
这个问题是因为我有很多名为="for_deletion"的隐藏输入。服务器脚本选择队列中的最后一个,这就是我删除最后一个子项的原因。
我已经修改了生成请求的 html 页面,在某种意义上我使用 javascript 询问用户是否 he/she 想要删除数据然后我会去关于发送带有名为 "for_deletion" 的隐藏输入的表单。这样我将确保只有一个 html 元素 name="for_deletion".
这是 js 文件的代码片段:
document.body.innerHTML += '<form id="dynForm" action="/delete" method="post"><input type="hidden" name="for_deletion" value=' + urlsafe + '></form>';
document.getElementById("dynForm").submit();
我的模型类似于 Python GAE(问候语和作者)文档中的示例。我在删除时遇到问题,因为删除的总是最后一个 child 而不是我要删除的实体。
class Delete(webapp2.RequestHandler):
def post(self):
greeting_key = ndb.Key(urlsafe=self.request.get('for_deletion')) #it's the key's urlsafe that is being passed here
greeting_key.delete()
self.redirect('/events')
这是生成请求的代码片段:
self.response.write('''<br><br><form action="/delete" method="post">
<input type="hidden" name="for_deletion" value="%s">
<input type="submit" value="Delete Most Recent Info"><br><br>
<form>
''' % post.key.urlsafe())
这个问题是因为我有很多名为="for_deletion"的隐藏输入。服务器脚本选择队列中的最后一个,这就是我删除最后一个子项的原因。
我已经修改了生成请求的 html 页面,在某种意义上我使用 javascript 询问用户是否 he/she 想要删除数据然后我会去关于发送带有名为 "for_deletion" 的隐藏输入的表单。这样我将确保只有一个 html 元素 name="for_deletion".
这是 js 文件的代码片段:
document.body.innerHTML += '<form id="dynForm" action="/delete" method="post"><input type="hidden" name="for_deletion" value=' + urlsafe + '></form>';
document.getElementById("dynForm").submit();