File tree Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change 1616
1717if DJANGO_FILTER_INSTALLED :
1818 import django_filters
19- from django_filters import FilterSet , NumberFilter
19+ from django_filters import FilterSet , NumberFilter , OrderingFilter
2020
2121 from graphene_django .filter import (
2222 GlobalIDFilter ,
@@ -1275,3 +1275,22 @@ class Query(ObjectType):
12751275 assert result .data == {
12761276 "people" : {"edges" : [{"node" : {"name" : "Joe" }}, {"node" : {"name" : "Bob" }},]}
12771277 }
1278+
1279+
1280+ def test_only_custom_filters ():
1281+ class ReporterFilter (FilterSet ):
1282+ class Meta :
1283+ model = Reporter
1284+ fields = []
1285+
1286+ some_filter = OrderingFilter (fields = ("name" ,))
1287+
1288+ class ReporterFilterNode (DjangoObjectType ):
1289+ class Meta :
1290+ model = Reporter
1291+ interfaces = (Node ,)
1292+ fields = "__all__"
1293+ filterset_class = ReporterFilter
1294+
1295+ field = DjangoFilterConnectionField (ReporterFilterNode )
1296+ assert_arguments (field , "some_filter" )
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ def get_filtering_args_from_filterset(filterset_class, type):
3737 registry = type ._meta .registry
3838 for name , filter_field in filterset_class .base_filters .items ():
3939 filter_type = filter_field .lookup_expr
40+ required = filter_field .extra .get ("required" , False )
4041 field_type = None
4142 form_field = None
4243
@@ -47,8 +48,6 @@ def get_filtering_args_from_filterset(filterset_class, type):
4748 or isinstance (filter_field , ArrayFilter )
4849 ):
4950 # Get the filter field for filters that are no explicitly declared.
50-
51- required = filter_field .extra .get ("required" , False )
5251 if filter_type == "isnull" :
5352 field = graphene .Boolean (required = required )
5453 else :
You can’t perform that action at this time.
0 commit comments