mirror of
https://github.com/graphql-python/graphene.git
synced 2025-02-02 12:44:15 +03:00
Refactored django function to utils
This commit is contained in:
parent
bd0ec6dc14
commit
fadf3664c0
|
@ -1,21 +1,14 @@
|
||||||
import six
|
import six
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
from graphene.core.types import ObjectTypeMeta, BaseObjectType
|
from graphene.core.types import ObjectTypeMeta, BaseObjectType
|
||||||
from graphene.contrib.django.options import DjangoOptions
|
from graphene.contrib.django.options import DjangoOptions
|
||||||
from graphene.contrib.django.converter import convert_django_field
|
from graphene.contrib.django.converter import convert_django_field
|
||||||
|
from graphene.contrib.django.utils import get_reverse_fields
|
||||||
|
|
||||||
from graphene.relay.types import BaseNode
|
from graphene.relay.types import BaseNode
|
||||||
from graphene.relay.fields import GlobalIDField
|
from graphene.relay.fields import GlobalIDField
|
||||||
|
|
||||||
|
|
||||||
def get_reverse_fields(model):
|
|
||||||
for name, attr in model.__dict__.items():
|
|
||||||
related = getattr(attr, 'related', None)
|
|
||||||
if isinstance(related, models.ManyToOneRel):
|
|
||||||
yield related
|
|
||||||
|
|
||||||
|
|
||||||
class DjangoObjectTypeMeta(ObjectTypeMeta):
|
class DjangoObjectTypeMeta(ObjectTypeMeta):
|
||||||
options_cls = DjangoOptions
|
options_cls = DjangoOptions
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
from django.db import models
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
from django.db.models.manager import Manager
|
from django.db.models.manager import Manager
|
||||||
|
|
||||||
|
@ -15,6 +16,13 @@ def get_type_for_model(schema, model):
|
||||||
return _type
|
return _type
|
||||||
|
|
||||||
|
|
||||||
|
def get_reverse_fields(model):
|
||||||
|
for name, attr in model.__dict__.items():
|
||||||
|
related = getattr(attr, 'related', None)
|
||||||
|
if isinstance(related, models.ManyToOneRel):
|
||||||
|
yield related
|
||||||
|
|
||||||
|
|
||||||
def lazy_map(value, func):
|
def lazy_map(value, func):
|
||||||
if isinstance(value, Manager):
|
if isinstance(value, Manager):
|
||||||
value = value.get_queryset()
|
value = value.get_queryset()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user