@@ -16,6 +16,9 @@ def __init__(self, field, request, params, model, model_admin, field_path):
1616 self .lookup_val = self .used_parameters .get (self .lookup_kwarg , [])
1717 if len (self .lookup_val ) == 1 and self .lookup_val [0 ] == "" :
1818 self .lookup_val = []
19+ elif len (self .lookup_val ) == 1 and type (self .lookup_val [0 ]) != str :
20+ # In Django 5.0, we get an extra list
21+ self .lookup_val = self .lookup_val [0 ]
1922 self .lookup_val_isnull = self .used_parameters .get (self .lookup_kwarg_isnull )
2023
2124 self .empty_value_display = model_admin .get_empty_value_display ()
@@ -30,9 +33,10 @@ def __init__(self, field, request, params, model, model_admin, field_path):
3033 )
3134 self .field_verboses = {}
3235 if self .field .choices :
33- self .field_verboses = {field_value : field_verbose for
34- field_value , field_verbose in
35- self .field .choices }
36+ self .field_verboses = {
37+ field_value : field_verbose
38+ for field_value , field_verbose in self .field .choices
39+ }
3640
3741 def expected_parameters (self ):
3842 return [self .lookup_kwarg , self .lookup_kwarg_isnull ]
@@ -91,12 +95,16 @@ def __init__(self, field, request, params, model, model_admin, field_path):
9195 self .lookup_kwarg = "%s__%s__in" % (field_path , field .target_field .name )
9296 self .lookup_kwarg_isnull = "%s__isnull" % field_path
9397 values = params .get (self .lookup_kwarg , [])
98+ if len (values ) == 1 and type (values [0 ]) != str :
99+ # In Django 5.0, we get an extra list
100+ values = values [0 ]
94101 self .lookup_val = values .split ("," ) if values else []
95102 self .lookup_choices = self .field_choices (field , request , model_admin )
96103
97104 def choices (self , changelist ):
98105 yield {
99- "selected" : self .lookup_val is None and not self .lookup_val_isnull ,
106+ "selected" : (self .lookup_val is None or self .lookup_val == [])
107+ and not self .lookup_val_isnull ,
100108 "query_string" : changelist .get_query_string (
101109 remove = [self .lookup_kwarg , self .lookup_kwarg_isnull ]
102110 ),
0 commit comments