diff options
| author | Ed Bartosh <eduard.bartosh@intel.com> | 2015-12-09 14:18:44 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-12-14 19:41:11 -0500 |
| commit | 423b3afce431fd0a1d683bca9b2b80a1c4e3c8ca (patch) | |
| tree | adef37d273518c170151df6cae1fbdf5a762b4f9 | |
| parent | 5146e2cf984a83c2eb9d8102ea73ee0792a9528b (diff) | |
Fixed #25939 -- Removed redundant transaction in QuerySet.update_or_create().
There is no need to wrap the save() call in transaction.atomic() as
it's already done down the call stack in Model.save_base().
| -rw-r--r-- | django/db/models/query.py | 4 | ||||
| -rw-r--r-- | docs/releases/1.10.txt | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/django/db/models/query.py b/django/db/models/query.py index 006feb6427..e8d9006b48 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -484,9 +484,7 @@ class QuerySet(object): return obj, created for k, v in six.iteritems(defaults): setattr(obj, k, v) - - with transaction.atomic(using=self.db, savepoint=False): - obj.save(using=self.db) + obj.save(using=self.db) return obj, False def _create_object_from_params(self, lookup, params): diff --git a/docs/releases/1.10.txt b/docs/releases/1.10.txt index 853955f936..10a517f82d 100644 --- a/docs/releases/1.10.txt +++ b/docs/releases/1.10.txt @@ -363,6 +363,10 @@ Miscellaneous :class:`~django.http.HttpResponse` are now closed immediately instead of when the WSGI server calls ``close()`` on the response. +* A redundant ``transaction.atomic()`` call in ``QuerySet.update_or_create()`` + is removed. This may affect query counts tested by + ``TransactionTestCase.assertNumQueries()``. + .. _deprecated-features-1.10: Features deprecated in 1.10 |
