From 41e9b481b712e6b0c8b4c20e74641665a4214e5c Mon Sep 17 00:00:00 2001 From: lukas Date: Tue, 14 Oct 2025 10:37:48 +0200 Subject: [PATCH] fix: checkbox filter django 4.x --- src/unfold/contrib/filters/admin/choice_filters.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/unfold/contrib/filters/admin/choice_filters.py b/src/unfold/contrib/filters/admin/choice_filters.py index 56530014a..559e573a1 100644 --- a/src/unfold/contrib/filters/admin/choice_filters.py +++ b/src/unfold/contrib/filters/admin/choice_filters.py @@ -4,10 +4,11 @@ from django.contrib import admin from django.contrib.admin.views.main import ChangeList from django.core.validators import EMPTY_VALUES -from django.db.models import QuerySet +from django.db.models import Model, QuerySet from django.http import HttpRequest from django.utils.translation import gettext_lazy as _ +from unfold.admin import ModelAdmin from unfold.contrib.filters.admin.mixins import ( ChoicesMixin, MultiValueMixin, @@ -56,6 +57,17 @@ class CheckboxFilter(RadioFilter): form_class = CheckboxForm all_option = None + # TODO: remove once django 4.x is not supported + def __init__( + self, + request: HttpRequest, + params: dict[str, Any], + model: type[Model], + model_admin: ModelAdmin, + ) -> None: + self.request = request + super().__init__(request, params, model, model_admin) + def value(self) -> list[Any]: return self.request.GET.getlist(self.parameter_name)