【发布时间】:2012-07-04 04:30:48
【问题描述】:
我想增加数据库中的值,而不必对数据库执行命中来查找实际值。实际上,我想做这样的事情......但这不起作用。任何优雅的解决方案?
P.objects.filter(username='John Smith').update(accvalue+=-50)
谢谢!
【问题讨论】:
我想增加数据库中的值,而不必对数据库执行命中来查找实际值。实际上,我想做这样的事情......但这不起作用。任何优雅的解决方案?
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 方法来做你想做的事情。
【讨论】: