Skip to content

Commit 1e1c59b

Browse files
authored
Merge pull request #39 from FloatingGhost/master
Fix: Don't use negative integers to slice
2 parents da390d0 + 5d7a1fb commit 1e1c59b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

graphene_mongo/fields.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from graphql_relay.node.node import from_global_id
1111
from graphene.types.argument import to_arguments
1212

13-
1413
from .utils import get_model_reference_fields
1514

1615

@@ -142,7 +141,7 @@ def get_query(cls, model, info, **args):
142141
objs = objs[:first]
143142
if last is not None:
144143
# https://github.com/graphql-python/graphene-mongo/issues/20
145-
objs = objs[-(last+1):]
144+
objs = objs[max(0, list_length - last):]
146145
else:
147146
list_length = objs.count()
148147

@@ -159,10 +158,16 @@ def merge_querysets(cls, default_queryset, queryset):
159158
@classmethod
160159
def connection_resolver(cls, resolver, connection, model, root, info, **args):
161160
iterable = resolver(root, info, **args)
161+
162162
if not iterable:
163163
iterable, _len = cls.get_query(model, info, **args)
164+
165+
if root:
166+
# If we have a root, we must be at least 1 layer in, right?
167+
_len = 0
164168
else:
165169
_len = len(iterable)
170+
166171
connection = connection_from_list_slice(
167172
iterable,
168173
args,

0 commit comments

Comments
 (0)