diff --git a/graphene_django/fields.py b/graphene_django/fields.py index 1ecce45..237cd07 100644 --- a/graphene_django/fields.py +++ b/graphene_django/fields.py @@ -135,7 +135,8 @@ class DjangoConnectionField(ConnectionField): args["last"] = min(last, max_limit) iterable = resolver(root, info, **args) - on_resolve = partial(cls.resolve_connection, connection, default_manager, args) + queryset = connection._meta.node.get_queryset(info) + on_resolve = partial(cls.resolve_connection, connection, queryset, args) if Promise.is_thenable(iterable): return Promise.resolve(iterable).then(on_resolve) diff --git a/graphene_django/types.py b/graphene_django/types.py index aa8b5a3..a111114 100644 --- a/graphene_django/types.py +++ b/graphene_django/types.py @@ -126,10 +126,14 @@ class DjangoObjectType(ObjectType): model = root._meta.model._meta.concrete_model return model == cls._meta.model + + @classmethod + def get_queryset(cls, info): + return cls._meta.model.objects @classmethod def get_node(cls, info, id): try: - return cls._meta.model.objects.get(pk=id) + return cls.get_queryset(info).get(pk=id) except cls._meta.model.DoesNotExist: return None