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 に答える