summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJulien Phalip <jphalip@gmail.com>2012-11-25 20:39:23 +0100
committerJulien Phalip <jphalip@gmail.com>2012-11-25 20:39:23 +0100
commitae206d78f6d991e1d7ea1c1bb8bd85f4658c0877 (patch)
tree8a2c80bc5f3ab4fe8bdca47976768f57e7caeca8 /django
parentf26b956e807b7d5603e4a80533e3a12fd625a605 (diff)
Fixed #17646 -- Added a get_list_filter() method to ModelAdmin. Thanks to rasca for the suggestion and to mateusgondim for the patch.
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 64d71fe1af..c647835057 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -665,6 +665,13 @@ class ModelAdmin(BaseModelAdmin):
# Use only the first item in list_display as link
return list(list_display)[:1]
+ def get_list_filter(self, request):
+ """
+ Returns a sequence containing the fields to be displayed as filters in
+ the right sidebar of the changelist page.
+ """
+ return self.list_filter
+
def construct_change_message(self, request, form, formsets):
"""
Construct a change message from a changed object.
@@ -1192,6 +1199,7 @@ class ModelAdmin(BaseModelAdmin):
list_display = self.get_list_display(request)
list_display_links = self.get_list_display_links(request, list_display)
+ list_filter = self.get_list_filter(request)
# Check actions to see if any are available on this changelist
actions = self.get_actions(request)
@@ -1202,7 +1210,7 @@ class ModelAdmin(BaseModelAdmin):
ChangeList = self.get_changelist(request)
try:
cl = ChangeList(request, self.model, list_display,
- list_display_links, self.list_filter, self.date_hierarchy,
+ list_display_links, list_filter, self.date_hierarchy,
self.search_fields, self.list_select_related,
self.list_per_page, self.list_max_show_all, self.list_editable,
self)