我有以下几行:
my_field = days
user_model = User.objects.get(pk=2)
我想做这样的事情:
user_model.my_field += 7
我可以使用update(my_field=new_value)
关键字代替get()
然后修改实例,但我不确定如何避免调用get()
,因为对于每个实例,我需要来自字段的多个现有值来确定用于更新字段的新值。我还在尝试django
。
答案 0 :(得分:1)
您可以使用F expressions执行此操作。您可以将它与查询一起使用,使用(或不使用)update
,一切都将在SQL级别进行。
文档示例:
from django.db.models import F
reporter = Reporters.objects.filter(name='Tintin')
reporter.update(stories_filed=F('stories_filed') + 1)