如何使用django orm使一个字段值等于同一个表中的另一个字段值?

时间:2014-11-25 06:09:29

标签: django orm

在mysql中,sql表达式如下:

udpate table set one_field=another_field

那么如何通过使用django orm来取得成功呢?例如:

在模型A中,有3个字段:id,a_value 在模型B中,有3个字段:id,b_value 现在我希望b_value的值等于a_value加b_value。表达式应该是这样的:b_value = b_value + a_value。但是django orm中的F()不能用于不同的模型。如何在较少的代码中使用django orm来完成此操作。 顺便说一句,我的数据有点大,大约2000k。

1 个答案:

答案 0 :(得分:1)

  

对于原始问题:

for obj in Model_Name.objects.all():
    obj.one_field = obj.another_field
    obj.save()

如果您有大型数据库,则可以使用批量更新。 https://docs.djangoproject.com/en/dev/topics/db/queries/#updating-multiple-objects-at-once

希望这有帮助