Как удалить строки из хранилища данных, которые наше приложение использует в Google Appengine? - PullRequest
4 голосов
/ 26 марта 2011

Все видео и учебные пособия показывают только, как добавить материал в хранилище данных и получить его с помощью GqlQuery. Как удалить вещи из хранилища данных? Работает ли запрос «УДАЛИТЬ ИЗ mytable WHERE условие»?

Ответы [ 2 ]

6 голосов
/ 26 марта 2011

Ответы systempuntout и Forest оба являются правильными - однако вы можете знать, что вы также можете объединить некоторые операции хранилища данных для повышения эффективности (см. Этот пост в блоге от команды App Engine).

Вы можете изменить ответ systempuntout следующим образом:

q = db.GqlQuery("SELECT * FROM Foo")
results = q.fetch(10)
db.delete(results)

Вместо того, чтобы возвращаться туда и обратно для каждого удаленного элемента, удаление одной из них - одна операция.

1 голос
/ 26 марта 2011

Язык GQL доступен только для чтения и полезен для извлечения сущностей или ключей из хранилища данных App Engine.

Для операторов DELETE необходимо использовать метод delete , предоставляемый API хранилища данных .
Пример:

q = db.GqlQuery("SELECT * FROM Foo")
results = q.fetch(10)
for result in results:
    result.delete()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...