mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-16 11:12:20 +03:00
Reorganize for clarity
This commit is contained in:
parent
74e4e1aa77
commit
95510987f1
|
@ -21,8 +21,12 @@ except (ImportError, AttributeError):
|
||||||
DJANGO_FILTER_INSTALLED = False
|
DJANGO_FILTER_INSTALLED = False
|
||||||
|
|
||||||
|
|
||||||
def get_reverse_fields(model):
|
def get_reverse_fields(model, local_field_names):
|
||||||
for name, attr in model.__dict__.items():
|
for name, attr in model.__dict__.items():
|
||||||
|
# Don't duplicate any local fields
|
||||||
|
if name in local_field_names:
|
||||||
|
continue
|
||||||
|
|
||||||
# Django =>1.9 uses 'rel', django <1.9 uses 'related'
|
# Django =>1.9 uses 'rel', django <1.9 uses 'related'
|
||||||
related = getattr(attr, 'rel', None) or \
|
related = getattr(attr, 'rel', None) or \
|
||||||
getattr(attr, 'related', None)
|
getattr(attr, 'related', None)
|
||||||
|
@ -44,8 +48,7 @@ def maybe_queryset(value):
|
||||||
|
|
||||||
|
|
||||||
def get_model_fields(model):
|
def get_model_fields(model):
|
||||||
reverse_fields = get_reverse_fields(model)
|
local_fields = [
|
||||||
all_fields = [
|
|
||||||
(field.name, field)
|
(field.name, field)
|
||||||
for field
|
for field
|
||||||
in sorted(list(model._meta.fields) +
|
in sorted(list(model._meta.fields) +
|
||||||
|
@ -53,13 +56,10 @@ def get_model_fields(model):
|
||||||
]
|
]
|
||||||
|
|
||||||
# Make sure we don't duplicate local fields with "reverse" version
|
# Make sure we don't duplicate local fields with "reverse" version
|
||||||
all_field_names = [field[0] for field in all_fields]
|
local_field_names = [field[0] for field in local_fields]
|
||||||
actual_reverse_fields = [
|
reverse_fields = get_reverse_fields(model, local_field_names)
|
||||||
reverse_field for reverse_field in reverse_fields
|
|
||||||
if reverse_field[0] not in all_field_names
|
|
||||||
]
|
|
||||||
|
|
||||||
all_fields += list(actual_reverse_fields)
|
all_fields = local_fields + list(reverse_fields)
|
||||||
|
|
||||||
return all_fields
|
return all_fields
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user