Django部分更新

Xod*_*rap 1 django django-models

我有两个线程,一个运行类似的东西update t set ColA=foo,另一个运行update t set ColB=foo.如果他们正在执行原始SQL语句,则不存在争用,但由于Django获取并保存整行,因此可能发生竞争条件.

有没有办法告诉Django我只想保存某个列?

Len*_*Lip 6

更新旧主题.

现在,我们使用save有update_fields参数:

如果save()在关键字参数update_fields中传递了字段名称列表,则只会更新该列表中指定的字段.

https://docs.djangoproject.com/en/stable/ref/models/instances/#specifying-which-fields-to-save

product.name = 'Name changed again'
product.save(update_fields=['name'])
Run Code Online (Sandbox Code Playgroud)