首页 > 解决方案 > 如何在 Django 中使用函数批量更新字段

问题描述

如何在 Django 中使用函数批量更新字段,函数参数是字段值。如

Data.objects.filter(need_add=1).update(need_add=Myfunc(F('need_add')))

标签: djangodjango-models

解决方案


你不能。.update在 SQL 查询级别(即在数据库引擎内部)完成其工作。除非您可以在 SQL 中编码您的函数,否则您必须获取对象、更新它们并保存它们。与在查询集上的简单迭代相比,有.bulk_update (链接)作为一种优化,一个一个地保存对象。

数据库功能在这里


推荐阅读