Django如何一次更新多行字段

时间:2013-07-21 16:41:49

标签: python database django

以下代码适用于更新行字段:

t = TheForm.objects.get(id=1)
t.value = 1
t.save() 

但如果我需要一次更新5-6个字段呢?有没有直接的方式?

喜欢更新(value=1,value2=2)

修改

我已经知道我能做到:

t.value1 = 1
t.value2 = 1
t.value3 = 1 

但我正在寻找单行命令,例如插入一行。 (TheForm(value1=1,value2=2,value3=3)

2 个答案:

答案 0 :(得分:3)

当然!

t.value1 = 1
t.value2 = 2
t.save()

可替换地,

TheForm.objects.filter(id=1).update(value=1, value2=2)

(你可以在这里使用**kwargs

答案 1 :(得分:0)

您可以在保存前更改任意数量的字段。

t = TheForm.objects.get(id=1)
t.value1 = 1
t.value2 = 2
t.save() 

您还可以使用update方法:

t = TheForm.objects.filter(id=1).update(value1=1,value2=2)

请注意,使用update是微妙的不同。如果id=1的对象不存在,则不会出错。使用update时,不会发送保存前和保存后的信号。