如何在django Nonl/app engine上一次高效地更新多个实体

如何在django Nonl/app engine上一次高效地更新多个实体,django,google-app-engine,django-nonrel,Django,Google App Engine,Django Nonrel,在AppEngine上的django Nonl上,尝试在QuerySet上使用“update”方法会返回NotImplementedError。在不使用更新的情况下,执行以下操作的最有效方法是什么 goals = Goal.objects.filter(is_active=True).filter(deadline__lte=datetime.now()) goals.update(is_active=False, is_failed=True) 很明显,我可以循环浏览目标,一个接一个地修改和

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

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

很明显,我可以循环浏览目标,一个接一个地修改和保存它们,但当可能有大量目标需要更改时,这似乎效率极低。还有更好的办法吗

django norel当前不支持批处理放入-请参阅

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

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

请记住数据存储调用的限制,特别是数据传输的1MB上限

django norel当前不支持批处理放入-请参阅

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

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

请记住数据存储调用的限制,特别是数据传输的1MB上限

好吧,听起来很合理。但有一件事我不清楚。目前我正在检索django查询集。为了实现这一点,我是否还必须使用GAE SDK检索实体,或者是否有一种简单的方法将QuerySet转换为可由db.put使用的列表?或者,我想,将django nonrel模型实例列表转换成db.put可以接受的东西?@Yual django nonrel真的返回db.model实例吗?这似乎不太可能!你说得对。我在考虑appenginehelper()。那么,这是否意味着我将不得不使用gaesdk来检索实体,或者是否有其他方法使用django模型来实现这一点?好的,这听起来很合理。但有一件事我不清楚。目前我正在检索django查询集。为了实现这一点,我是否还必须使用GAE SDK检索实体,或者是否有一种简单的方法将QuerySet转换为可由db.put使用的列表?或者,我想,将django nonrel模型实例列表转换成db.put可以接受的东西?@Yual django nonrel真的返回db.model实例吗?这似乎不太可能!你说得对。我在考虑appenginehelper()。那么,这是否意味着我必须退回到使用gaesdk来检索实体,或者使用django模型还有其他方法来实现这一点?