@@ -61,6 +61,13 @@ def list_resolver(
61
61
# Pass queryset to the DjangoObjectType get_queryset method
62
62
queryset = maybe_queryset (django_object_type .get_queryset (queryset , info ))
63
63
64
+ try :
65
+ get_running_loop ()
66
+ except RuntimeError :
67
+ pass
68
+ else :
69
+ return queryset .aiterator ()
70
+
64
71
return queryset
65
72
66
73
def wrap_resolve (self , parent_resolver ):
@@ -231,26 +238,7 @@ def connection_resolver(
231
238
# or a resolve_foo (does not accept queryset)
232
239
233
240
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
+
254
242
if iterable is None :
255
243
iterable = default_manager
256
244
# thus the iterable gets refiltered by resolve_queryset
0 commit comments