summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authormanav014 <dpsman13016@gmail.com>2020-09-13 18:13:21 -0700
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-09-15 09:12:14 +0200
commit580a4341cb0b4cbfc215a70afc004875a7e815f4 (patch)
treeaa00c53929e03a3e1fdc7854cccf6a2763e64f1e /django
parentfed257ddff449e1bf1ce06d9a7fddb148290a6ac (diff)
Fixed #31636 -- Made BooleanFieldListFilter respect Field.choices.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/filters.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/django/contrib/admin/filters.py b/django/contrib/admin/filters.py
index 3e02cd89d7..7f4690806b 100644
--- a/django/contrib/admin/filters.py
+++ b/django/contrib/admin/filters.py
@@ -244,10 +244,12 @@ class BooleanFieldListFilter(FieldListFilter):
return [self.lookup_kwarg, self.lookup_kwarg2]
def choices(self, changelist):
+ field_choices = dict(self.field.flatchoices)
for lookup, title in (
- (None, _('All')),
- ('1', _('Yes')),
- ('0', _('No'))):
+ (None, _('All')),
+ ('1', field_choices.get(True, _('Yes'))),
+ ('0', field_choices.get(False, _('No'))),
+ ):
yield {
'selected': self.lookup_val == lookup and not self.lookup_val2,
'query_string': changelist.get_query_string({self.lookup_kwarg: lookup}, [self.lookup_kwarg2]),
@@ -257,7 +259,7 @@ class BooleanFieldListFilter(FieldListFilter):
yield {
'selected': self.lookup_val2 == 'True',
'query_string': changelist.get_query_string({self.lookup_kwarg2: 'True'}, [self.lookup_kwarg]),
- 'display': _('Unknown'),
+ 'display': field_choices.get(None, _('Unknown')),
}