从Google App Engine表中删除记录

2 google-app-engine

我在python文件中完成了这个,但是我的记录不会从DB中删除.我的数据库是Google App引擎.此查询只有一条记录.有解决方案吗

deleteContact = db.GqlQuery("SELECT * FROM FriendList WHERE myNum = :1 AND friendNum = :2", myId,friendId)
results = deleteContact.fetch(1)
for result in results:
  db.delete(result)
Run Code Online (Sandbox Code Playgroud)

Aut*_*ter 6

由于只返回了1条记录,因此您不需要for循环,但这不应该停止它.如果您只需要获得1条记录,则可以使用get()调用.如果将列表传递给db.delete()调用,也可以批量删除记录.例如

db.delete(results) 是相同的

for result in results:
  db.delete(result)
Run Code Online (Sandbox Code Playgroud)

但回到你的代码.下面的代码应该有效

deleteContact = db.GqlQuery("SELECT * FROM FriendList WHERE myNum = :1 AND friendNum = :2", myId,friendId) 
result = deleteContact.get() 
db.delete(result)
Run Code Online (Sandbox Code Playgroud)

这应该删除返回的1条记录,这样你可能想要检查你选择是否正在做你期望它做的事情.