Potrzebuję do iteracji i usuwania wszystkich rekordów mojego magazynu danych. Używam Launchera wyszukiwarki aplikacji Google do testowania go na hoście lokalnym. Jak to zrobić?Jak usunąć rekord za pomocą GQL?
Gdy próbuję usunąć wszystkie recors osoba model w ten sposób:
qObj = Person.all()
db.delete(qObj)
Dostaję błąd BadValueError: Property y must be a str or unicode instance, not a long
Chyba istnieje konflikt typów danych modelu.
class Person(db.Model):
name = db.StringProperty()
x = db.StringProperty()
y = db.StringProperty()
group = db.StringProperty()
Pole y = db.StringProperty()
poprzednio był y = db.IntegerProperty()
. W tej chwili muszę opróżnić wszystkie rekordy db. Jak mogę to zrobić?
Czy istnieje możliwość usunięcia pliku lokalnego, który przechowuje wszystkie rekordy db?
Kiedy robisz qObj = Person.all(), ustawiasz qObj na listę obiektów Person. O ile mi wiadomo, nie można wywołać polecenia delete na tej liście - należy wykonać iterację na liście i usunąć każdy obiekt osobno. – pinerd314159
http://code.google.com/appengine/docs/python/datastore/functions.html#create_config ... delete (modele) Usuwa jedną lub więcej instancji modelu ze składnicy danych. Argumenty: modele modele Instancja modelowa, klucz encji lub lista (lub inne iterowalne) wystąpień modelu lub klucze podmiotów do usunięcia. –
Po prostu próbowałem ['db.delete (Person.all())'] (https://developers.google.com/appengine/docs/python/datastore/functions # delete), używając twojego dokładnego modelu "Person" i działa idealnie (usuwa wszystkie obiekty "Person" z db) – bobobobo