Tôi cần lặp lại và xóa tất cả các bản ghi của kho dữ liệu của mình. Tôi đang sử dụng Trình khởi chạy Google App engine để thử nghiệm trên máy chủ lưu trữ cục bộ. Làm thế nào để làm nó?Làm thế nào để xóa một bản ghi bằng GQL?
Khi tôi đang cố gắng để xóa tất cả recors trong mô hình Person rằng cách:
qObj = Person.all()
db.delete(qObj)
Tôi nhận lỗi BadValueError: Property y must be a str or unicode instance, not a long
Tôi đoán có mâu thuẫn trong các kiểu dữ liệu mẫu.
class Person(db.Model):
name = db.StringProperty()
x = db.StringProperty()
y = db.StringProperty()
group = db.StringProperty()
Trường y = db.StringProperty()
trước đây là y = db.IntegerProperty()
. Tại thời điểm này tôi cần xóa tất cả các bản ghi db. Làm thế nào tôi có thể làm điều đó?
Có cơ hội xóa tệp cục bộ lưu trữ tất cả bản ghi db không?
Khi bạn thực hiện qObj = Person.all(), bạn đang đặt qObj thành danh sách đối tượng Person. Theo tôi biết, bạn không thể gọi xóa trên danh sách đó - bạn phải lặp qua danh sách và xóa riêng từng đối tượng. – pinerd314159
http://code.google.com/appengine/docs/python/datastore/functions.html#create_config ... xóa (mô hình) Xóa một hoặc nhiều phiên bản mô hình khỏi kho dữ liệu. Đối số: mô hình Ví dụ về mô hình, Khóa cho thực thể hoặc danh sách (hoặc có thể lặp lại) của phiên bản mẫu hoặc khóa của thực thể cần xóa. –
Tôi vừa thử ['db.delete (Person.all())'] (https://developers.google.com/appengine/docs/python/datastore/functions # delete), sử dụng mô hình 'Person' chính xác của bạn, và nó hoạt động hoàn hảo (xóa tất cả các đối tượng' Person' khỏi db) – bobobobo