下面的代码可以很好地更新行字段:
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))
当然!
t.value1 = 1
t.value2 = 2
t.save()
或者,
TheForm.objects.filter(id=1).update(value=1, value2=2)
(你可以**kwargs在这里使用)
在保存之前,您可以根据需要更改任意数量的字段。
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。