不应该将django的模型get_or_create方法包装在事务中吗?

时间:2011-02-16 15:59:51

标签: django django-models

我正在浏览django的来源并查看get_or_create。 不应该用交易包裹吗?

由于

1 个答案:

答案 0 :(得分:3)

查看this diff,看起来像Revision 8315,已在get_or_create()方法中明确处理。

更新

正如@reshefm指出的那样,rev 8670已将force_insert=True添加到obj.save(),以确保在竞争条件期间所有实例都尝试插入(而不是回归更新)所以只有一个会成功,而其他人会失败。失败的实例将继续执行另一个get()

就发布版本而言,此修补程序首先在1.0版中引入。