Skip to content

Commit c521e18

Browse files
committed
Simplified Django grapheme types removing LazyMap
1 parent 732b1ae commit c521e18

File tree

3 files changed

+14
-21
lines changed

3 files changed

+14
-21
lines changed

graphene/contrib/django/fields.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
1+
import warnings
2+
13
from ...core.exceptions import SkipField
24
from ...core.fields import Field
35
from ...core.types.base import FieldType
46
from ...core.types.definitions import List
57
from ...relay import ConnectionField
68
from ...relay.utils import is_node
7-
from .utils import get_type_for_model, lazy_map
9+
from .utils import get_type_for_model
810

911

1012
class DjangoConnectionField(ConnectionField):
11-
pass
12-
13-
14-
class LazyListField(Field):
15-
16-
def get_type(self, schema):
17-
return List(self.type)
1813

19-
def resolver(self, instance, args, info):
20-
resolved = super(LazyListField, self).resolver(instance, args, info)
21-
return lazy_map(resolved, self.type)
14+
def __init__(self, *args, **kwargs):
15+
cls = self.__class__
16+
warnings.warn("Using {} will be not longer supported."
17+
" Use relay.ConnectionField instead".format(cls.__name__),
18+
FutureWarning)
19+
return super(DjangoConnectionField, self).__init__(*args, **kwargs)
2220

2321

2422
class ConnectionOrListField(Field):
@@ -31,7 +29,7 @@ def internal_type(self, schema):
3129
if is_node(field_object_type):
3230
field = DjangoConnectionField(field_object_type)
3331
else:
34-
field = LazyListField(field_object_type)
32+
field = Field(List(field_object_type))
3533
field.contribute_to_class(self.object_type, self.attname)
3634
return schema.T(field)
3735

graphene/contrib/django/types.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from ...relay.types import BaseNode, Connection
66
from .converter import convert_django_field
77
from .options import DjangoOptions
8-
from .utils import get_reverse_fields, lazy_map
8+
from .utils import get_reverse_fields, maybe_queryset
99

1010

1111
class DjangoObjectTypeMeta(ObjectTypeMeta):
@@ -30,7 +30,7 @@ def add_extra_fields(cls):
3030
is_excluded = field.name in cls._meta.exclude_fields or is_already_created
3131
if is_not_in_only or is_excluded:
3232
# We skip this field if we specify only_fields and is not
33-
# in there. Or when we excldue this field in exclude_fields
33+
# in there. Or when we exclude this field in exclude_fields
3434
continue
3535
converted_field = convert_django_field(field)
3636
cls.add_to_class(field.name, converted_field)
@@ -74,7 +74,7 @@ class DjangoInterface(six.with_metaclass(
7474
class DjangoConnection(Connection):
7575
@classmethod
7676
def from_list(cls, iterable, *args, **kwargs):
77-
iterable = lazy_map(iterable, cls.edge_type.node_type)
77+
iterable = maybe_queryset(iterable)
7878
return super(DjangoConnection, cls).from_list(iterable, *args, **kwargs)
7979

8080

graphene/contrib/django/utils.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
from django.db import models
22
from django.db.models.manager import Manager
3-
from django.db.models.query import QuerySet
4-
5-
from ...utils import LazyMap
63

74

85
def get_type_for_model(schema, model):
@@ -22,9 +19,7 @@ def get_reverse_fields(model):
2219
yield related
2320

2421

25-
def lazy_map(value, func):
22+
def maybe_queryset(value):
2623
if isinstance(value, Manager):
2724
value = value.get_queryset()
28-
if isinstance(value, QuerySet):
29-
return LazyMap(value, func)
3025
return value

0 commit comments

Comments
 (0)