Как эффективно обновлять более одной сущности одновременно на движке django-nonrel/app
При использовании django-nonrel в ядре приложения при попытке использовать метод "update" в QuerySet возвращается NotImplementedError. Каков наиболее эффективный способ сделать что-то вроде следующего без использования обновления?
goals = Goal.objects.filter(is_active=True).filter(deadline__lte=datetime.now())
goals.update(is_active=False, is_failed=True)
Я, очевидно, мог бы циклически проходить цели, изменяя и сохраняя их одну за другой, но это кажется крайне неэффективным, когда потенциально может быть большое число, которое нужно изменить. Есть ли лучший способ?
1 ответ
Пакетные путы в настоящее время не поддерживаются django-norel - см. http://www.allbuttonspressed.com/projects/djangoappengine
Они поддерживаются GAE SDK, однако так:
from google.appengine.ext import db
...
db.put(list_of_entities)
Имейте в виду ограничения, существующие для вызова хранилища данных, особенно ограничение в 1 мегабайт при передаче данных.