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().
This commit is contained in:
parent
5146e2cf98
commit
423b3afce4
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue