upd tests

This commit is contained in:
DonQueso89 2021-01-29 16:20:15 +01:00
parent a107c29566
commit c191b78e1c
2 changed files with 23 additions and 28 deletions

View File

@ -33,12 +33,7 @@ class PetNode(DjangoObjectType):
class PersonFilterSet(FilterSet): class PersonFilterSet(FilterSet):
class Meta: class Meta:
model = Person model = Person
fields = {} fields = {"name": ["in"]}
names = filters.BaseInFilter(method="filter_names")
def filter_names(self, qs, name, value):
return qs.filter(name__in=value)
class PersonNode(DjangoObjectType): class PersonNode(DjangoObjectType):
@ -47,7 +42,6 @@ class PersonNode(DjangoObjectType):
interfaces = (Node,) interfaces = (Node,)
filterset_class = PersonFilterSet filterset_class = PersonFilterSet
class Query(ObjectType): class Query(ObjectType):
pets = DjangoFilterConnectionField(PetNode) pets = DjangoFilterConnectionField(PetNode)
people = DjangoFilterConnectionField(PersonNode) people = DjangoFilterConnectionField(PersonNode)
@ -92,7 +86,7 @@ def test_string_in_filter_with_filterset_class():
query = """ query = """
query { query {
people (names: ["John", "Michael"]) { people (name_In: ["John", "Michael"]) {
edges { edges {
node { node {
name name

View File

@ -79,7 +79,8 @@ def replace_csv_filters(filterset_class):
""" """
for name, filter_field in list(filterset_class.base_filters.items()): for name, filter_field in list(filterset_class.base_filters.items()):
filter_type = filter_field.lookup_expr filter_type = filter_field.lookup_expr
if name not in filterset_class.declared_filters: if name in filterset_class.declared_filters:
continue
if filter_type in {"in", "contains", "overlap"}: if filter_type in {"in", "contains", "overlap"}:
filterset_class.base_filters[name] = InFilter( filterset_class.base_filters[name] = InFilter(
field_name=filter_field.field_name, field_name=filter_field.field_name,