正如 Django 文档所说, select_for_update
返回一个 Queryset
。但是 get
没有。现在我有一个查询,我确信它只会返回一个元组。但是我还需要为这个事务获取锁。所以我正在做类似的事情:
ob = MyModel.objects.select_for_update().filter(some conditions)
现在,我需要修改 ob
的一些值。但是 ob
是一个 Queryset
。这看起来很简单,但打败了我。我对 Django 很陌生。请提供一些建议。
原文由 Indradhanush Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需调用
get
,对其进行切片等,然后照常保存。通过事务锁定到位。任何更改都在事务结束时提交(默认情况下到 1.5 是每个请求)