以下代码适用于更新行字段:
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)
)
答案 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
时,不会发送保存前和保存后的信号。