使用Django orm生成更新查询

2024-04-20 08:44:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要使用django orm实现此查询:

update table set field=field+1 where id=id

我不想用这个:

o = model.objects.get(id=id)
o.field+=1
o.save()

因为它使用select和when update,而不是线程安全的。

如何通过orm实现这一点?


Tags: djangoidfieldgetmodelobjectssaveorm
2条回答

前面的两个答案都有部分解决方案:应该将updateF()结合使用:

Model.objects.filter(id=id).update(field=F('field') +1))

注意这是一个就地更新,根本不需要选择。

您可以使用update,详细信息可以在the documentation中找到

相关问题 更多 >