mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-11 00:32:24 +03:00
upd tests
This commit is contained in:
parent
a107c29566
commit
c191b78e1c
|
@ -33,21 +33,15 @@ class PetNode(DjangoObjectType):
|
|||
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):
|
||||
class Meta:
|
||||
model = Person
|
||||
interfaces = (Node,)
|
||||
filterset_class = PersonFilterSet
|
||||
|
||||
|
||||
class Query(ObjectType):
|
||||
pets = DjangoFilterConnectionField(PetNode)
|
||||
people = DjangoFilterConnectionField(PersonNode)
|
||||
|
@ -92,7 +86,7 @@ def test_string_in_filter_with_filterset_class():
|
|||
|
||||
query = """
|
||||
query {
|
||||
people (names: ["John", "Michael"]) {
|
||||
people (name_In: ["John", "Michael"]) {
|
||||
edges {
|
||||
node {
|
||||
name
|
||||
|
|
|
@ -79,23 +79,24 @@ 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 not in filterset_class.declared_filters:
|
||||
if filter_type in {"in", "contains", "overlap"}:
|
||||
filterset_class.base_filters[name] = InFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
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,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
|
||||
elif filter_type == "range":
|
||||
filterset_class.base_filters[name] = RangeFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
elif filter_type == "range":
|
||||
filterset_class.base_filters[name] = RangeFilter(
|
||||
field_name=filter_field.field_name,
|
||||
lookup_expr=filter_field.lookup_expr,
|
||||
label=filter_field.label,
|
||||
method=filter_field.method,
|
||||
exclude=filter_field.exclude,
|
||||
**filter_field.extra
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue
Block a user