@@ -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