1

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

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

我显然可以遍历目标,一一修改和保存它们,但是当可能有大量需要更改时,这似乎效率极低。有更好的办法吗?

4

1 回答 1

1

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 兆字节上限。

于 2011-03-09T04:59:48.567 回答