增加django数据库中的值

时间:2012-07-03 17:25:54

标签: database django

我希望增加数据库中的值,而不必对db执行命中以查找实际值。实际上,我想做这样的事情......但这不起作用。任何优雅的解决方案?

P.objects.filter(username='John Smith').update(accvalue+=-50)

谢谢!

1 个答案:

答案 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方法来执行您想要执行的操作。