diff --git a/graphene_django/converter.py b/graphene_django/converter.py index c0bc009..79412ff 100644 --- a/graphene_django/converter.py +++ b/graphene_django/converter.py @@ -186,7 +186,7 @@ def convert_onetoone_field_to_djangomodel(field, registry=None): @convert_django_field.register(models.ManyToManyRel) @convert_django_field.register(models.ManyToOneRel) def convert_field_to_list_or_connection(field, registry=None): - model = field.related_model + model = registry.get_model_by_string(field._raw_class) def dynamic_type(): _type = registry.get_type_for_model(model) diff --git a/graphene_django/registry.py b/graphene_django/registry.py index 50a8ae5..5a7b2af 100644 --- a/graphene_django/registry.py +++ b/graphene_django/registry.py @@ -19,8 +19,16 @@ class Registry(object): self._registry[cls._meta.model] = cls def get_type_for_model(self, model): + print(model) + if isinstance(model, str): + model = self.get_model_by_string(model) return self._registry.get(model) + def get_model_by_string(self, model): + print(self._registry.keys()) + return filter(lambda x: model == x.__name__, self._registry.keys())[0] + + def register_converted_field(self, field, converted): self._field_registry[field] = converted