実際の値を見つけるためにデータベースをヒットせずに、データベースの値をインクリメントしたいと思います。事実上、私はこのようなことをしたいのですが...しかしこれはうまくいきません。エレガントなソリューションはありますか?
P.objects.filter(username='John Smith').update(accvalue+=-50)
ありがとう!
DjangoのF()オブジェクトを確認してください。
これをupdate()
メソッドと組み合わせて、前のフィールド値に基づいて値を更新できます。
>>> from django.db.models import F
>>> P.objects.filter(username="John Smith").update(accvalue=F("accvalue") + 50)
これは、データベースのネイティブUPDATE
メソッドを使用して、実行したいことを実行します。