Browse Source

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

add note about Django 1.6 transaction changes to userguide
Ask Solem Hoel 10 years ago
parent
commit
9b3c7f9c49
1 changed files with 10 additions and 0 deletions
  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