并发问题,同时在django中同时更新多对多

时间:2016-03-22 05:38:44

标签: django postgresql orm

有一个视图,更新实体一,实体二的列表被传递。 实体一和二是多对多关系。

根据我的理解和观察,它会删除所有现有行,并在连接这两个实体的隐藏表中插入更新的条目。

当浏览器在测试时反复调用此视图时,在其他几个条件不清楚的情况下,连接表的完整性会破坏两个实体。

只有在以下顺序中并行发生两个请求时才会发生这种情况:

  1. 请求1删除连接表中的条目
  2. 请求2删除连接表中的条目
  3. 请求1在连接表中插入更新的条目
  4. 由于存在相同的唯一密钥,
  5. 请求2无法插入。
  6. 是否可以为特定用户和实体组合删除和插入原子,以便为用户的实体1上的每个补丁维护完整性?

    是我的观察权,你宁愿建议只是捕捉错误并传递执行。你能确定错误的起源还是能够重新生成错误?

0 个答案:

没有答案