0

下面的代码可以很好地更新行字段:

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))

4

2 回答 2

3

当然!

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

或者,

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

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

于 2013-07-21T16:44:52.410 回答
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

于 2013-07-21T16:50:30.863 回答