如何避免在Django中检索实例更新字段

时间:2018-01-17 02:08:19

标签: python django django-models

我有以下几行:

my_field = days

user_model = User.objects.get(pk=2)

我想做这样的事情:

user_model.my_field += 7

我可以使用update(my_field=new_value)关键字代替get()然后修改实例,但我不确定如何避免调用get(),因为对于每个实例,我需要来自字段的多个现有值来确定用于更新字段的新值。我还在尝试django

1 个答案:

答案 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)