summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/options.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index c9d4f33884..2b34d7f395 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -351,6 +351,13 @@ class ModelAdmin(BaseModelAdmin):
defaults.update(kwargs)
return modelform_factory(self.model, **defaults)
+ def get_changelist(self, request, **kwargs):
+ """
+ Returns the ChangeList class for use on the changelist page.
+ """
+ from django.contrib.admin.views.main import ChangeList
+ return ChangeList
+
def get_changelist_form(self, request, **kwargs):
"""
Returns a Form class for use in the Formset on the changelist page.
@@ -888,7 +895,7 @@ class ModelAdmin(BaseModelAdmin):
@csrf_protect
def changelist_view(self, request, extra_context=None):
"The 'change list' admin view for this model."
- from django.contrib.admin.views.main import ChangeList, ERROR_FLAG
+ from django.contrib.admin.views.main import ERROR_FLAG
opts = self.model._meta
app_label = opts.app_label
if not self.has_change_permission(request, None):
@@ -905,6 +912,7 @@ class ModelAdmin(BaseModelAdmin):
except ValueError:
pass
+ ChangeList = self.get_changelist(request)
try:
cl = ChangeList(request, self.model, list_display, self.list_display_links, self.list_filter,
self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page, self.list_editable, self)