diff options
| author | manav014 <dpsman13016@gmail.com> | 2020-09-13 18:13:21 -0700 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-09-15 09:12:14 +0200 |
| commit | 580a4341cb0b4cbfc215a70afc004875a7e815f4 (patch) | |
| tree | aa00c53929e03a3e1fdc7854cccf6a2763e64f1e /django | |
| parent | fed257ddff449e1bf1ce06d9a7fddb148290a6ac (diff) | |
Fixed #31636 -- Made BooleanFieldListFilter respect Field.choices.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/filters.py | 10 |
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')), } |
