diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index de7614ff24..f7bfca455f 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -986,7 +986,7 @@ class ModelAdmin(BaseModelAdmin): return None @csrf_protect_m - @transaction.commit_on_success + @transaction.atomic def add_view(self, request, form_url='', extra_context=None): "The 'add' admin view for this model." model = self.model @@ -1073,7 +1073,7 @@ class ModelAdmin(BaseModelAdmin): return self.render_change_form(request, context, form_url=form_url, add=True) @csrf_protect_m - @transaction.commit_on_success + @transaction.atomic def change_view(self, request, object_id, form_url='', extra_context=None): "The 'change' admin view for this model." model = self.model @@ -1318,7 +1318,7 @@ class ModelAdmin(BaseModelAdmin): ], context, current_app=self.admin_site.name) @csrf_protect_m - @transaction.commit_on_success + @transaction.atomic def delete_view(self, request, object_id, extra_context=None): "The 'delete' admin view for this model." opts = self.model._meta diff --git a/django/contrib/auth/admin.py b/django/contrib/auth/admin.py index 0abc361a41..bff8041e05 100644 --- a/django/contrib/auth/admin.py +++ b/django/contrib/auth/admin.py @@ -85,7 +85,7 @@ class UserAdmin(admin.ModelAdmin): @sensitive_post_parameters() @csrf_protect_m - @transaction.commit_on_success + @transaction.atomic def add_view(self, request, form_url='', extra_context=None): # It's an error for a user to have add permission but NOT change # permission for users. If we allowed such users to add users, they