mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-13 17:52:19 +03:00
fixed parent system
This commit is contained in:
parent
15a6744aea
commit
57e3e86eb1
|
@ -10,7 +10,7 @@ from graphene.relay import ConnectionField, PageInfo
|
|||
from graphql_relay.connection.arrayconnection import connection_from_list_slice
|
||||
|
||||
from .settings import graphene_settings
|
||||
from .utils import maybe_queryset
|
||||
from .utils import maybe_queryset, is_parent_set
|
||||
|
||||
|
||||
class DjangoListField(Field):
|
||||
|
@ -152,11 +152,7 @@ class DjangoConnectionField(ConnectionField):
|
|||
_parent = args.get('know_parent', False)
|
||||
|
||||
if not _parent:
|
||||
if hasattr(info.parent_type._meta, 'know_parent_fields'):
|
||||
options = info.parent_type._meta.know_parent_fields
|
||||
assert isinstance(options, (list, tuple)), \
|
||||
"know_parent_fields should be list or tuple"
|
||||
_parent = info.field_name in options
|
||||
_parent = is_parent_set(info)
|
||||
|
||||
def new_resolver(root, info, **kwargs):
|
||||
qs = resolver(root, info, **kwargs)
|
||||
|
|
|
@ -6,6 +6,8 @@ from ..fields import DjangoConnectionField
|
|||
from .utils import get_filterset_class, get_filtering_args_from_filterset, \
|
||||
make_qs
|
||||
|
||||
from ..utils import is_parent_set
|
||||
|
||||
|
||||
class DjangoFilterConnectionField(DjangoConnectionField):
|
||||
def __init__(
|
||||
|
@ -109,11 +111,7 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
|||
_parent = args.get('know_parent', False)
|
||||
|
||||
if not _parent:
|
||||
if hasattr(info.parent_type._meta, 'know_parent_fields'):
|
||||
options = info.parent_type._meta.know_parent_fields
|
||||
assert isinstance(options, (list, tuple)), \
|
||||
"know_parent_fields should be list or tuple"
|
||||
_parent = info.field_name in options
|
||||
_parent = is_parent_set(info)
|
||||
|
||||
def new_resolver(root, info, **args):
|
||||
filters = dict(filter(lambda x: '__' in x[0], args.items()))
|
||||
|
|
|
@ -8,6 +8,14 @@ from neomodel import (
|
|||
|
||||
# from graphene.utils import LazyList
|
||||
|
||||
def is_parent_set(info):
|
||||
if hasattr(info.parent_type._meta.graphene_type, 'know_parent_fields'):
|
||||
options = info.parent_type.graphene_type._meta.know_parent_fields
|
||||
assert isinstance(options, (list, tuple)), \
|
||||
"know_parent_fields should be list or tuple"
|
||||
return info.field_name in options
|
||||
return False
|
||||
|
||||
|
||||
class LazyList(object):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue
Block a user