我要删除我的python app引擎服务器中的条目:
try:
while True:
q = db.GqlQuery("SELECT __key__ FROM SampleData")
assert q.count()
db.delete(q.fetch(400))
time.sleep(0.2)
except Exception, e:
self.response.out.write(repr(e)+'\n')
pass
try:
while True:
q = db.GqlQuery("SELECT __key__ FROM UserData")
assert q.count()
db.delete(q.fetch(400))
time.sleep(0.2)
except Exception, e:
self.response.out.write(repr(e)+'\n')
pass
..但它似乎很难看,我一直怀疑它并不完全可靠。有没有办法更好地删除某些类型的条目而不是在循环中创建其中一个类型?
更新:我的一个限制是我通过cron作业定期运行它,所以不希望手动执行(例如通过管理控制台)。
答案 0 :(得分:4)
您可以使用管理控制台的数据存储区管理标签删除所有类型的实体,有关详细信息,请参阅此处:
http://code.google.com/appengine/docs/adminconsole/datastoreadmin.html#Deleting_Entities_in_Bulk
答案 1 :(得分:3)
一些改进:
如果您要删除大部分或全部类型,则可能需要使用mapreduce库。
答案 2 :(得分:0)