From 0a84a6ea38455906f2e978863a1503a272687f4b Mon Sep 17 00:00:00 2001 From: Josh Warwick Date: Sat, 1 Apr 2023 19:16:12 -0700 Subject: [PATCH] Handle async get_node --- graphene_django/converter.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/graphene_django/converter.py b/graphene_django/converter.py index dbd7cb8..90c2128 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -265,8 +265,21 @@ def convert_onetoone_field_to_djangomodel(field, registry=None): _type = registry.get_type_for_model(model) if not _type: return + + class CustomField(Field): + def wrap_resolve(self, parent_resolver): + resolver = super().wrap_resolve(parent_resolver) - return Field(_type, required=not field.null) + try: + get_running_loop() + except RuntimeError: + pass + else: + resolver=sync_to_async(resolver) + + return resolver + + return CustomField(_type, required=not field.null) return Dynamic(dynamic_type)