Skip to content

Commit 61059fa

Browse files
committed
Support foriegn key connections running async
1 parent 370f685 commit 61059fa

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

graphene_django/converter.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
from collections import OrderedDict
22
from functools import singledispatch, wraps
3+
from asyncio import get_running_loop
34

45
from django.db import models
56
from django.utils.encoding import force_str
67
from django.utils.functional import Promise
78
from django.utils.module_loading import import_string
9+
from asgiref.sync import sync_to_async
810

911
from graphene import (
1012
ID,
@@ -323,6 +325,13 @@ def wrap_resolve(self, parent_resolver):
323325
"""
324326
resolver = super().wrap_resolve(parent_resolver)
325327

328+
try:
329+
get_running_loop()
330+
except RuntimeError:
331+
pass
332+
else:
333+
resolver=sync_to_async(resolver)
334+
326335
def custom_resolver(root, info, **args):
327336
fk_obj = resolver(root, info, **args)
328337
if not isinstance(fk_obj, model):

0 commit comments

Comments
 (0)