我是Google App Engine的新手。如果我的问题看起来很愚蠢,请耐心等待。 我想通过查询删除整个记录。在这段代码中,我传递了记录的访问令牌,这是我模型的一个字段,并删除了具有该访问令牌的所有记录,但是我收到错误"模块中没有delete()"。请给我一些解决方案。提前谢谢。
class deletehandler(webapp2.RequestHandler):
def get(self):
access_token=self.request.get('access_token')
gprofiles=User.query(User.access_token==access_token)
for g in gprofiles:
ndb.key.delete(g)
self.response.out.write("Profile is deleted")
答案 0 :(得分:6)
delete()方法是一个实例方法。试试这个:
for g in gprofiles:
g.key.delete()
self.response.out.write("Profile is deleted")
记录在案here
更新:
正如帕特里克所提到的,仅批量密钥查询更有效:
ndb.delete_multi([key for key in gprofiles.iter(keys_only=true)])