Skip to content

Commit

Permalink
It seems Django 5 will change what's stored in used_parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiask committed Jul 21, 2023
1 parent f0db42c commit 75cb982
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions cabinet/base_admin.py
@@ -1,5 +1,6 @@
from urllib.parse import urlencode

import django
from django import forms
from django.contrib import admin, messages
from django.contrib.admin import helpers
Expand Down Expand Up @@ -30,21 +31,24 @@ def has_output(self):

def queryset(self, request, queryset):
if "q" in request.GET:
folder = self.used_parameters.get("folder__id__exact")
if folder:
if folder_id := self.used_parameters.get("folder__id__exact"):
if django.VERSION > (5,):
folder_id = folder_id[0]
return queryset.filter(
# Avoid problems because of table aliasses (Django 1.11)
folder__in=list(
Folder.objects.descendants(
folder, include_self=True
folder_id, include_self=True
).values_list("id", flat=True)
)
)
return queryset

if self.used_parameters:
if folder_id := self.used_parameters.get("folder__id__exact"):
if django.VERSION > (5,):
folder_id = folder_id[0]
try:
return queryset.filter(**self.used_parameters)
return queryset.filter(folder=folder_id)
except ValidationError as e:
raise IncorrectLookupParameters(e) from e
else:
Expand Down

0 comments on commit 75cb982

Please sign in to comment.