我的模型类似于Python GAE(问候和作者)文档中的示例。我在删除时遇到问题,因为它总是被删除的最后一个孩子,而不是我所定位的实体。
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())
答案 0 :(得分:1)
问题来自于我有很多名为=&#34; for_deletion&#34;的隐藏输入。服务器脚本选择队列中的最后一个,这就是我删除最后一个孩子的原因。
我已修改了生成请求的html页面,因为我使用javascript询问用户是否要删除数据然后我会继续发送一个带有名为&#的隐藏输入的表单34; for_deletion&#34 ;.通过这种方式,我将确保只有一个html元素名称=&#34; for_deletion&#34;。
以下是js文件的代码片段:
document.body.innerHTML += '<form id="dynForm" action="/delete" method="post"><input type="hidden" name="for_deletion" value=' + urlsafe + '></form>';
document.getElementById("dynForm").submit();