Skip to content

Commit c7c0a15

Browse files
authored
fix: filter_params when Django < 5.0 (#1108)
1 parent 98c8802 commit c7c0a15

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/unfold/admin.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from unfold.mixins import ActionModelAdminMixin, BaseModelAdminMixin
2121
from unfold.overrides import FORMFIELD_OVERRIDES_INLINE
2222
from unfold.typing import FieldsetsType
23+
from unfold.views import ChangeList
2324
from unfold.widgets import UnfoldBooleanWidget
2425

2526
checkbox = UnfoldBooleanWidget(
@@ -168,6 +169,9 @@ def response_add(
168169
return redirect(request.GET["next"])
169170
return res
170171

172+
def get_changelist(self, request, **kwargs):
173+
return ChangeList
174+
171175

172176
class TabularInline(BaseModelAdminMixin, BaseTabularInline):
173177
formfield_overrides = FORMFIELD_OVERRIDES_INLINE

src/unfold/views.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
from typing import Any
22

3+
import django
4+
from django.contrib.admin.views.main import ERROR_FLAG, PAGE_VAR
5+
from django.contrib.admin.views.main import ChangeList as BaseChangeList
36
from django.contrib.auth.mixins import PermissionRequiredMixin
47

5-
from .exceptions import UnfoldException
8+
from unfold.exceptions import UnfoldException
9+
10+
11+
class ChangeList(BaseChangeList):
12+
def __init__(self, request, *args, **kwargs):
13+
super().__init__(request, *args, **kwargs)
14+
15+
if django.VERSION < (5, 0):
16+
self.filter_params = dict(request.GET.lists())
17+
self.filter_params.pop(PAGE_VAR, None)
18+
self.filter_params.pop(ERROR_FLAG, None)
619

720

821
class UnfoldModelAdminViewMixin(PermissionRequiredMixin):

0 commit comments

Comments
 (0)