summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2014-03-30 09:44:18 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2014-03-30 09:44:18 +0200
commit2f3e1fe3234f5ebaca7635b0a080c2a751c3c758 (patch)
tree04a4a68821d1ba243f4ad7841ebc80da400f591a /docs
parentf356b6ecc3fe15634d504690c1793460e5fe9bee (diff)
parentbc9be72bdc9bb4dfc7f967ac3856115f0a6166b8 (diff)
Merge pull request #2489 from loic/related_transactions
Fixed transaction handling for a number of operations on related objects.
Diffstat (limited to 'docs')
-rw-r--r--docs/releases/1.8.txt14
1 files changed, 13 insertions, 1 deletions
diff --git a/docs/releases/1.8.txt b/docs/releases/1.8.txt
index 1f56c3109e..789c1db535 100644
--- a/docs/releases/1.8.txt
+++ b/docs/releases/1.8.txt
@@ -168,7 +168,19 @@ Backwards incompatible changes in 1.8
deprecation timeline for a given feature, its removal may appear as a
backwards incompatible change.
-...
+* Some operations on related objects such as
+ :meth:`~django.db.models.fields.related.RelatedManager.add()` or
+ :ref:`direct assignment<direct-assignment>` ran multiple data modifying
+ queries without wrapping them in transactions. To reduce the risk of data
+ corruption, all data modifying methods that affect multiple related objects
+ (i.e. ``add()``, ``remove()``, ``clear()``, and
+ :ref:`direct assignment<direct-assignment>`) now perform their data modifying
+ queries from within a transaction, provided your database supports
+ transactions.
+
+ This has one backwards incompatible side effect, signal handlers triggered
+ from these methods are now executed within the method's transaction and
+ any exception in a signal handler will prevent the whole operation.
Miscellaneous
~~~~~~~~~~~~~