Skip to content

Commit 2a2e5e7

Browse files
committed
handle regualr django lists
1 parent 61059fa commit 2a2e5e7

File tree

1 file changed

+8
-20
lines changed

1 file changed

+8
-20
lines changed

graphene_django/fields.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ def list_resolver(
6161
# Pass queryset to the DjangoObjectType get_queryset method
6262
queryset = maybe_queryset(django_object_type.get_queryset(queryset, info))
6363

64+
try:
65+
get_running_loop()
66+
except RuntimeError:
67+
pass
68+
else:
69+
return queryset.aiterator()
70+
6471
return queryset
6572

6673
def wrap_resolve(self, parent_resolver):
@@ -231,26 +238,7 @@ def connection_resolver(
231238
# or a resolve_foo (does not accept queryset)
232239

233240
iterable = resolver(root, info, **args)
234-
if info.is_awaitable(iterable):
235-
async def await_result():
236-
queryset_or_list = await iterable
237-
if queryset_or_list is None:
238-
queryset_or_list = default_manager
239-
240-
if is_async(queryset_resolver):
241-
242-
resolved = await sync_to_async(queryset_resolver)(connection, resolved, info, args)
243-
244-
# TODO: create an async_resolve_connection which uses the new Django queryset async functions
245-
async_resolve_connection = sync_to_async(cls.resolve_connection)
246-
247-
if is_awaitable(resolved):
248-
return async_resolve_connection(connection, args, await resolved, max_limit=max_limit)
249-
250-
return async_resolve_connection(connection, args, resolved, max_limit=max_limit)
251-
252-
return await_result()
253-
241+
254242
if iterable is None:
255243
iterable = default_manager
256244
# thus the iterable gets refiltered by resolve_queryset

0 commit comments

Comments
 (0)