对象“更新”方法(Django)内的整数增量

对象“更新”方法(Django)内的整数增量,django,Django,我可以在对象update方法中执行整数增量吗 也就是说,我正在做: photo = Photos.objects.get(owner_id=user_id) photo.total_likes = photo.total_likes + 1 photo.save() 我可以做: Photos.objects.filter(owner_id=user_id).update(total_likes+=1) 您可以使用F对象 Photos.objects.filter(ow

我可以在对象
update
方法中执行整数增量吗

也就是说,我正在做:

    photo = Photos.objects.get(owner_id=user_id)
    photo.total_likes = photo.total_likes + 1
    photo.save()
我可以做:

Photos.objects.filter(owner_id=user_id).update(total_likes+=1)

您可以使用
F
对象

Photos.objects.filter(owner_id=user_id).update(total_likes=F('total_likes')+1)  
从Django文档:

F()对象表示模型字段的值。它使得引用模型字段值并使用它们执行数据库操作成为可能,而实际上不必将它们从数据库中拉到Python内存中

F
的另一个好处是避免了竞争条件

您可以使用
F
对象

Photos.objects.filter(owner_id=user_id).update(total_likes=F('total_likes')+1)  
从Django文档:

F()对象表示模型字段的值。它使得引用模型字段值并使用它们执行数据库操作成为可能,而实际上不必将它们从数据库中拉到Python内存中

F
的另一个好处是避免了竞争条件

您可以使用F表达式。看


可以使用F表达式。看