@@ -74,25 +74,6 @@ class Meta:
7474class PublicBodyAPIFilterSet (PublicBodySearchMixin , BaseSearchFilterSet ):
7575 """FilterSet for the PublicBody API search (ID-based lookups)."""
7676
77- def is_valid (self ):
78- # Trigger form validation to populate cleaned_data and errors,
79- # but always return True to prevent DjangoFilterBackend from
80- # raising a 400 response for invalid filter values.
81- self .form .is_valid ()
82-
83- return True
84-
85- def filter_queryset (self , queryset ):
86- # Apply all valid filters normally.
87- for name , value in self .form .cleaned_data .items ():
88- queryset = self .filters [name ].filter (queryset , value )
89-
90- # For invalid filter values, filter by a non-existent PK to return empty results.
91- for name in self .form .errors :
92- queryset = queryset .filter (** {name : 0 })
93-
94- return queryset
95-
9677 q = django_filters .CharFilter (
9778 method = "auto_query" ,
9879 )
@@ -113,7 +94,8 @@ def filter_queryset(self, queryset):
11394 queryset = GeoRegion .objects .all (),
11495 method = "filter_regions" ,
11596 )
116- regions_kind = django_filters .CharFilter (
97+ regions_kind = django_filters .ChoiceFilter (
98+ choices = GeoRegion .KIND_CHOICES ,
11799 method = "filter_regions_kind" ,
118100 )
119101
0 commit comments