浏览代码

Merge pull request #2477 from thraxil/update-django-transactions-docs

add note about Django 1.6 transaction changes to userguide
Ask Solem Hoel 10 年之前
父节点
当前提交
9b3c7f9c49
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      docs/userguide/tasks.rst

+ 10 - 0
docs/userguide/tasks.rst

@@ -1548,6 +1548,16 @@ depending on state from the current transaction*:
             transaction.commit()
             expand_abbreviations.delay(article.pk)
 
+Note that Django 1.6 and later enable autocommit mode by default
+(deprecating `commit_on_success` and `commit_manually`), automatically
+wrapping each SQL query in its own transaction, avoiding the race
+condition by default and making it less likely that you'll encounter
+the above problem. However, enabling `ATOMIC_REQUESTS` on the database
+connection will bring back the transaction per request model and the
+race condition along with it. In this case, the simplest solution is
+just to use the `@transaction.non_atomic_requests` to switch it back
+to autocommit for that view.
+
 .. _task-example:
 
 Example