删除 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();