File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change 1
1
from collections import OrderedDict
2
2
from functools import singledispatch , wraps
3
+ from asyncio import get_running_loop
3
4
4
5
from django .db import models
5
6
from django .utils .encoding import force_str
6
7
from django .utils .functional import Promise
7
8
from django .utils .module_loading import import_string
9
+ from asgiref .sync import sync_to_async
8
10
9
11
from graphene import (
10
12
ID ,
@@ -323,6 +325,13 @@ def wrap_resolve(self, parent_resolver):
323
325
"""
324
326
resolver = super ().wrap_resolve (parent_resolver )
325
327
328
+ try :
329
+ get_running_loop ()
330
+ except RuntimeError :
331
+ pass
332
+ else :
333
+ resolver = sync_to_async (resolver )
334
+
326
335
def custom_resolver (root , info , ** args ):
327
336
fk_obj = resolver (root , info , ** args )
328
337
if not isinstance (fk_obj , model ):
You can’t perform that action at this time.
0 commit comments