Use super for base queryset logic

This commit is contained in:
Jacob 2017-10-09 23:00:09 -05:00 committed by Jacob Foster
parent 69cec060d8
commit 1d76db8164

View File

@ -43,8 +43,8 @@ class DjangoFilterConnectionField(DjangoConnectionField):
def filtering_args(self):
return get_filtering_args_from_filterset(self.filterset_class, self.node_type)
@staticmethod
def merge_querysets(default_queryset, queryset):
@classmethod
def merge_querysets(cls, default_queryset, queryset):
# There could be the case where the default queryset (returned from the filterclass)
# and the resolver queryset have some limits on it.
# We only would be able to apply one of those, but not both
@ -61,7 +61,9 @@ class DjangoFilterConnectionField(DjangoConnectionField):
low = default_queryset.query.low_mark or queryset.query.low_mark
high = default_queryset.query.high_mark or queryset.query.high_mark
default_queryset.query.clear_limits()
queryset = queryset & default_queryset
queryset = super(cls, cls).merge_querysets(default_queryset, queryset)
queryset.query.set_limits(low, high)
return queryset