diff --git a/graphene_django/types.py b/graphene_django/types.py index 8174f05..7fc7a04 100644 --- a/graphene_django/types.py +++ b/graphene_django/types.py @@ -16,7 +16,7 @@ from .utils import (DJANGO_FILTER_INSTALLED, get_model_fields, def construct_fields(options): - _model_fields = get_model_fields(options.model) + _model_fields = get_model_fields(options) only_fields = options.only_fields exclude_fields = options.exclude_fields @@ -54,6 +54,7 @@ class DjangoObjectTypeMeta(ObjectTypeMeta): name=name, description=attrs.pop('__doc__', None), model=None, + reverse_fields=True, local_fields=None, only_fields=(), exclude_fields=(), diff --git a/graphene_django/utils.py b/graphene_django/utils.py index a58db3e..5be066f 100644 --- a/graphene_django/utils.py +++ b/graphene_django/utils.py @@ -43,11 +43,13 @@ def maybe_queryset(value): return value -def get_model_fields(model): - reverse_fields = get_reverse_fields(model) +def get_model_fields(options): + model = options.model all_fields = sorted(list(model._meta.fields) + list(model._meta.local_many_to_many)) - all_fields += list(reverse_fields) + if options.reverse_fields: + reverse_fields = get_reverse_fields(model) + all_fields += list(reverse_fields) return all_fields