feat(*) Add support to turn on/off reverse fields.

This commit is contained in:
Felipe Cardoso Martins 2017-01-17 23:30:23 -02:00
parent 5d6c7f2dc3
commit 0fb39927e5
2 changed files with 7 additions and 4 deletions

View File

@ -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=(),

View File

@ -43,10 +43,12 @@ 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))
if options.reverse_fields:
reverse_fields = get_reverse_fields(model)
all_fields += list(reverse_fields)
return all_fields