@@ -17,6 +17,7 @@ def get_filtering_args_from_filterset(filterset_class, type):
17
17
model = filterset_class ._meta .model
18
18
for name , filter_field in filterset_class .base_filters .items ():
19
19
form_field = None
20
+ filter_type = filter_field .lookup_expr
20
21
21
22
if name in filterset_class .declared_filters :
22
23
# Get the filter field from the explicitly declared filter
@@ -25,7 +26,6 @@ def get_filtering_args_from_filterset(filterset_class, type):
25
26
else :
26
27
# Get the filter field with no explicit type declaration
27
28
model_field = get_model_field (model , filter_field .field_name )
28
- filter_type = filter_field .lookup_expr
29
29
if filter_type != "isnull" and hasattr (model_field , "formfield" ):
30
30
form_field = model_field .formfield (
31
31
required = filter_field .extra .get ("required" , False )
@@ -38,14 +38,14 @@ def get_filtering_args_from_filterset(filterset_class, type):
38
38
39
39
field = convert_form_field (form_field )
40
40
41
- if filter_type in ["in" , "range" ]:
42
- # Replace CSV filters (`in`, `range`) argument type to be a list of the same type as the field.
43
- # See comments in `replace_csv_filters` method for more details.
44
- field = List (field .get_type ())
41
+ if filter_type in ["in" , "range" ]:
42
+ # Replace CSV filters (`in`, `range`) argument type to be a list of
43
+ # the same type as the field. See comments in
44
+ # `replace_csv_filters` method for more details.
45
+ field = List (field .get_type ())
45
46
46
47
field_type = field .Argument ()
47
48
field_type .description = str (filter_field .label ) if filter_field .label else None
48
-
49
49
args [name ] = field_type
50
50
51
51
return args
@@ -78,10 +78,7 @@ def replace_csv_filters(filterset_class):
78
78
"""
79
79
for name , filter_field in list (filterset_class .base_filters .items ()):
80
80
filter_type = filter_field .lookup_expr
81
- if (
82
- filter_type in ["in" , "range" ]
83
- and name not in filterset_class .declared_filters
84
- ):
81
+ if filter_type in ["in" , "range" ]:
85
82
assert isinstance (filter_field , BaseCSVFilter )
86
83
filterset_class .base_filters [name ] = Filter (
87
84
field_name = filter_field .field_name ,
0 commit comments