我需要使用 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来实现呢?
前面的两个回答者都有解决方案的一部分:你应该使用update
和这个结合F()
:
Model.objects.filter(id=id).update(field=F('field') +1))
请注意,这会进行就地更新,根本不需要 SELECT。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)