Skip to content

Commit 1c5f42a

Browse files
authored
fix: multiple dropdown params (#671)
1 parent 8a35767 commit 1c5f42a

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/unfold/admin.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -245,13 +245,14 @@ def media(self):
245245
additional_media = forms.Media()
246246

247247
for filter in self.list_filter:
248-
if not isinstance(filter, (tuple, list)):
249-
continue
250-
251-
if hasattr(filter[1], "form_class") and hasattr(
252-
filter[1].form_class, "Media"
248+
if (
249+
isinstance(filter, (tuple, list))
250+
and hasattr(filter[1], "form_class")
251+
and hasattr(filter[1].form_class, "Media")
253252
):
254253
additional_media += forms.Media(filter[1].form_class.Media)
254+
elif hasattr(filter, "form_class") and hasattr(filter.form_class, "Media"):
255+
additional_media += forms.Media(filter.form_class.Media)
255256

256257
return media + additional_media
257258

src/unfold/contrib/filters/admin.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,16 @@ def choices(self, changelist: ChangeList) -> Tuple[Dict[str, Any], ...]:
129129
)
130130

131131

132-
class MultipleDropdownFilter(MultiValueMixin, DropdownFilter):
132+
class MultipleDropdownFilter(DropdownFilter):
133133
multiple = True
134134

135+
def __init__(self, request, params, model, model_admin):
136+
self.request = request
137+
super().__init__(request, params, model, model_admin)
138+
139+
def value(self):
140+
return self.request.GET.getlist(self.parameter_name)
141+
135142

136143
class ChoicesDropdownFilter(ValueMixin, DropdownMixin, admin.ChoicesFieldListFilter):
137144
def choices(self, changelist: ChangeList):

0 commit comments

Comments
 (0)