【发布时间】:2012-10-22 09:16:27
【问题描述】:
我无法检测到任何模式,在某个模型的每 1000 次编辑中可能有 1 次在 m2m 字段上返回 IntegrityError。大多数时候,这个字段甚至没有被修改。保存模型时,我相信 django 总是擦除 m2m 字段,然后重新添加项目,对吗?我看到 django 打电话给clear() 然后add()s 这些项目。
然后我的代码失败了:
IntegrityError:重复键值违反唯一约束 “app_model_m2m_field_key”详细信息:键(model1_id,model2_id)=(597, 1009) 已经存在。
好像物品的添加是在物品被清除之前进行的,这很奇怪。我试图重现它,但它非常困难,只是偶尔发生。知道是什么原因造成的吗?也许设置自动提交可以解决这个问题?
提前致谢
【问题讨论】:
标签: django postgresql