8
我想增加數據庫中的值,而不必在db上執行命中找到實際值。實際上,我想要做這樣的事情......但這不起作用。優雅的解決方案在django數據庫中增加值
P.objects.filter(username='John Smith').update(accvalue+=-50)
謝謝!
我想增加數據庫中的值,而不必在db上執行命中找到實際值。實際上,我想要做這樣的事情......但這不起作用。優雅的解決方案在django數據庫中增加值
P.objects.filter(username='John Smith').update(accvalue+=-50)
謝謝!
查看Django的F() object。
你可以用update()
方法結合它的基礎上的previos字段值更新值即
>>> from django.db.models import F
>>> P.objects.filter(username="John Smith").update(accvalue=F("accvalue") + 50)
這將使用數據庫的本地UPDATE
方法做你想做的事情。
謝謝!這是如何表現的? – snakesNbronies
比使用常規保存方法更好,並且在線程安全的基礎上:) – bx2
我可以在不查詢再次查詢的情況下獲得遞增的值嗎?這樣可以避免併發訪問問題 – Don