diff --git a/graphene_django/filter/tests/test_in_filter.py b/graphene_django/filter/tests/test_in_filter.py index 9e9c32378..ac3dddd38 100644 --- a/graphene_django/filter/tests/test_in_filter.py +++ b/graphene_django/filter/tests/test_in_filter.py @@ -33,12 +33,7 @@ class Meta: class PersonFilterSet(FilterSet): class Meta: model = Person - fields = {} - - names = filters.BaseInFilter(method="filter_names") - - def filter_names(self, qs, name, value): - return qs.filter(name__in=value) + fields = {"name": ["in"]} class PersonNode(DjangoObjectType): @@ -92,7 +87,7 @@ def test_string_in_filter_with_filterset_class(): query = """ query { - people (names: ["John", "Michael"]) { + people (name_In: ["John", "Michael"]) { edges { node { name diff --git a/graphene_django/filter/utils.py b/graphene_django/filter/utils.py index 4530599e5..0737432eb 100644 --- a/graphene_django/filter/utils.py +++ b/graphene_django/filter/utils.py @@ -79,6 +79,8 @@ def replace_csv_filters(filterset_class): """ for name, filter_field in list(filterset_class.base_filters.items()): filter_type = filter_field.lookup_expr + if name in filterset_class.declared_filters: + continue if filter_type in {"in", "contains", "overlap"}: filterset_class.base_filters[name] = InFilter( field_name=filter_field.field_name,