res*_*efm 10 django django-models
我正在浏览django的源代码并查看了get_or_create.不应该用交易包裹吗?
谢谢
Sha*_*hin 4
查看此差异,它看起来像修订版 8315一样,已在get_or_create()方法中显式处理。
get_or_create()
正如 @reshefm 指出的,这个问题在修订版 8670中得到了妥善解决,其中force_insert=True添加的内容obj.save()是为了确保在竞争条件下,所有实例都将尝试插入(而不是回退到更新),因此只有一个实例会成功,而其他实例会失败。失败的实例将继续执行另一个实例get()。
force_insert=True
obj.save()
get()
从发布版本来看,此修复首次在 1.0 版本中引入。
归档时间:
15 年,4 月 前
查看次数:
2466 次
最近记录: