我希望增加数据库中的值,而不必对db执行命中以查找实际值。实际上,我想做这样的事情......但这不起作用。任何优雅的解决方案?
P.objects.filter(username='John Smith').update(accvalue+=-50)
谢谢!
答案 0 :(得分:11)
查看Django的F() object。
您可以将其与update()
方法结合使用,根据previos字段值更新值,即
>>> from django.db.models import F
>>> P.objects.filter(username="John Smith").update(accvalue=F("accvalue") + 50)
这将使用数据库的本机UPDATE
方法来执行您想要执行的操作。