我需要迭代并删除我的数据存储区的所有记录.我正在使用Google App引擎启动器在本地主机上测试它.怎么做?
当我试图以这种方式删除Person模型中的所有recors时:
qObj = Person.all()
db.delete(qObj)
Run Code Online (Sandbox Code Playgroud)
我收到错误BadValueError: Property y must be a str or unicode instance, not a long
我猜模型数据类型存在冲突.
class Person(db.Model):
name = db.StringProperty()
x = db.StringProperty()
y = db.StringProperty()
group = db.StringProperty()
Run Code Online (Sandbox Code Playgroud)
该领域y = db.StringProperty()以前是y = db.IntegerProperty().此时我需要刷新所有数据库记录.我怎样才能做到这一点?
是否有机会删除存储所有数据库记录的本地文件?
GQL语言只能用于检索实体或密钥(参见http://code.google.com/appengine/docs/python/datastore/gqlreference.html)
你必须这样做:
persons = Person.all()
for p in persons:
p.delete()
Run Code Online (Sandbox Code Playgroud)
关于错误BadValueError: Property y must be a str or unicode instance, not a long,您必须修改数据库中的所有数据(从整数到字符串)以解决冲突.
您似乎想要删除所有内容,因此另一种解决方案是只访问数据存储区管理页面 - http:// localhost:8080/_ah/admin on localhost或https://appengine.google.com/ - 和删除一切.
您可能会发现这很有用:http://code.google.com/appengine/articles/update_schema.html