diff options
Diffstat (limited to 'django/contrib/admin/options.py')
-rw-r--r-- | django/contrib/admin/options.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 49c816dc9e..b0635669e9 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -436,7 +436,9 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): else self.get_list_display(request) ) - def lookup_allowed(self, lookup, value): + # RemovedInDjango60Warning: when the deprecation ends, replace with: + # def lookup_allowed(self, lookup, value, request): + def lookup_allowed(self, lookup, value, request=None): from django.contrib.admin.filters import SimpleListFilter model = self.model @@ -482,7 +484,12 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass): # Either a local field filter, or no fields at all. return True valid_lookups = {self.date_hierarchy} - for filter_item in self.list_filter: + # RemovedInDjango60Warning: when the deprecation ends, replace with: + # for filter_item in self.get_list_filter(request): + list_filter = ( + self.get_list_filter(request) if request is not None else self.list_filter + ) + for filter_item in list_filter: if isinstance(filter_item, type) and issubclass( filter_item, SimpleListFilter ): |