diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-01-13 09:55:34 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-01-17 11:49:15 +0100 |
| commit | 003081468e28db5af4d7c983f4d8df4c74c20607 (patch) | |
| tree | aa507a08fac23bfeaf0df5f5b80527f0e65c3ad9 | |
| parent | 94ad46e9d8077d8fadce991af85be657b4a4e2a0 (diff) | |
Refs #33263 -- Removed warning in BaseDeleteView when delete() method is overridden.
| -rw-r--r-- | django/views/generic/edit.py | 20 | ||||
| -rw-r--r-- | tests/generic_views/test_edit.py | 26 |
2 files changed, 1 insertions, 45 deletions
diff --git a/django/views/generic/edit.py b/django/views/generic/edit.py index e1f37bc593..97934f58cb 100644 --- a/django/views/generic/edit.py +++ b/django/views/generic/edit.py @@ -1,5 +1,3 @@ -import warnings - from django.core.exceptions import ImproperlyConfigured from django.forms import Form from django.forms import models as model_forms @@ -240,11 +238,6 @@ class DeletionMixin: raise ImproperlyConfigured("No URL to redirect to. Provide a success_url.") -# RemovedInDjango50Warning. -class DeleteViewCustomDeleteWarning(Warning): - pass - - class BaseDeleteView(DeletionMixin, FormMixin, BaseDetailView): """ Base view for deleting an object. @@ -254,19 +247,6 @@ class BaseDeleteView(DeletionMixin, FormMixin, BaseDetailView): form_class = Form - def __init__(self, *args, **kwargs): - # RemovedInDjango50Warning. - if self.__class__.delete is not DeletionMixin.delete: - warnings.warn( - f"DeleteView uses FormMixin to handle POST requests. As a " - f"consequence, any custom deletion logic in " - f"{self.__class__.__name__}.delete() handler should be moved " - f"to form_valid().", - DeleteViewCustomDeleteWarning, - stacklevel=2, - ) - super().__init__(*args, **kwargs) - def post(self, request, *args, **kwargs): # Set self.object before the usual form processing flow. # Inlined because having DeletionMixin as the first base, for diff --git a/tests/generic_views/test_edit.py b/tests/generic_views/test_edit.py index 6200dd08d5..09d887ae92 100644 --- a/tests/generic_views/test_edit.py +++ b/tests/generic_views/test_edit.py @@ -4,13 +4,7 @@ from django.test import SimpleTestCase, TestCase, override_settings from django.test.client import RequestFactory from django.urls import reverse from django.views.generic.base import View -from django.views.generic.edit import ( - CreateView, - DeleteView, - DeleteViewCustomDeleteWarning, - FormMixin, - ModelFormMixin, -) +from django.views.generic.edit import CreateView, FormMixin, ModelFormMixin from . import views from .forms import AuthorForm @@ -476,21 +470,3 @@ class DeleteViewTests(TestCase): res.context_data["form"].errors["confirm"], ["This field is required."], ) - - # RemovedInDjango50Warning. - def test_delete_with_custom_delete(self): - class AuthorDeleteView(DeleteView): - model = Author - - def delete(self, request, *args, **kwargs): - # Custom logic. - pass - - msg = ( - "DeleteView uses FormMixin to handle POST requests. As a " - "consequence, any custom deletion logic in " - "AuthorDeleteView.delete() handler should be moved to " - "form_valid()." - ) - with self.assertWarnsMessage(DeleteViewCustomDeleteWarning, msg): - AuthorDeleteView() |
