10

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

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

谢谢!

4

1 回答 1

17

查看 Django 的F() 对象

您可以将其与update()基于 previos 字段值更新值的方法结合使用,即

>>> from django.db.models import F
>>> P.objects.filter(username="John Smith").update(accvalue=F("accvalue") + 50)

这将使用数据库的本机UPDATE方法来做你想做的事。

于 2012-07-03T17:43:51.733 回答