diff options
| author | Jacob Walls <jacobtylerwalls@gmail.com> | 2022-01-01 11:56:10 -0500 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-01-11 12:22:49 +0100 |
| commit | dc9deea8e85641695e489e43ed5d5638134c15c7 (patch) | |
| tree | 887f578388c6a2627cc755e8de868ec498c6dc79 | |
| parent | b111b15c12bb89c49006ea13d20435d2022db23a (diff) | |
Fixed #11715 -- Changed default value of ModelAdmin.actions/inlines to empty tuples.
This clarifies the intended pattern of overwriting the default value
rather than mutating it.
| -rw-r--r-- | django/contrib/admin/options.py | 4 | ||||
| -rw-r--r-- | docs/releases/4.1.txt | 4 | ||||
| -rw-r--r-- | tests/modeladmin/tests.py | 5 |
3 files changed, 11 insertions, 2 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 100e481229..12cd0948ca 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -565,7 +565,7 @@ class ModelAdmin(BaseModelAdmin): save_on_top = False paginator = Paginator preserve_filters = True - inlines = [] + inlines = () # Custom templates (designed to be over-ridden in subclasses) add_form_template = None @@ -577,7 +577,7 @@ class ModelAdmin(BaseModelAdmin): popup_response_template = None # Actions - actions = [] + actions = () action_form = helpers.ActionForm actions_on_top = True actions_on_bottom = False diff --git a/docs/releases/4.1.txt b/docs/releases/4.1.txt index fa1c05bc80..e3bc02f226 100644 --- a/docs/releases/4.1.txt +++ b/docs/releases/4.1.txt @@ -341,6 +341,10 @@ Miscellaneous ``request.META['CSRF_COOKIE']`` for storing the unmasked CSRF secret rather than a masked version. This is an undocumented, private API. +* The :attr:`.ModelAdmin.actions` and + :attr:`~django.contrib.admin.ModelAdmin.inlines` attributes now default to an + empty tuple rather than an empty list to discourage unintended mutation. + .. _deprecated-features-4.1: Features deprecated in 4.1 diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py index 42cc369a9e..6432679735 100644 --- a/tests/modeladmin/tests.py +++ b/tests/modeladmin/tests.py @@ -50,6 +50,11 @@ class ModelAdminTests(TestCase): ma = ModelAdmin(Band, self.site) self.assertEqual(str(ma), 'modeladmin.ModelAdmin') + def test_default_attributes(self): + ma = ModelAdmin(Band, self.site) + self.assertEqual(ma.actions, ()) + self.assertEqual(ma.inlines, ()) + # form/fields/fieldsets interaction ############################## def test_default_fields(self): |
