如何在django-nonrel / app引擎上一次有效地更新多个实体

时间:2011-03-09 04:41:56

标签: django google-app-engine django-nonrel

在app引擎上的django-nonrel上,尝试在QuerySet上使用“update”方法会返回NotImplementedError。在不使用更新的情况下,执行以下操作的最有效方法是什么?

goals = Goal.objects.filter(is_active=True).filter(deadline__lte=datetime.now())
goals.update(is_active=False, is_failed=True)

我显然可以循环实现这些目标,逐一修改并保存它们,但是当可能存在需要更改的大量数字时,这似乎效率极低。有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

目前django-norel不支持批量看跌 - 请参阅http://www.allbuttonspressed.com/projects/djangoappengine#supported-and-unsupported-features

GAE SDK支持 ,但是,如下所示:

from google.appengine.ext import db
...
db.put(list_of_entities)

请记住数据存储区调用的限制,特别是数据传输的1兆字节上限。