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