From 9a45d604ccb61f4ec59debf3dfa2af6443202df1 Mon Sep 17 00:00:00 2001 From: seb Date: Tue, 24 Jul 2018 10:12:41 -0300 Subject: [PATCH] Update converter.py When using reflection to build the models (instead of declarative) the Enum conversion fails because the ENUM column is treated as string so doing type.name returns None. ```sql CREATE TABLE `foos` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `status` ENUM('open', 'closed') DEFAULT 'open', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` ```python class Foo(Base): __table__ = Table('foos', metadata, autoload=True) ``` --- graphene_sqlalchemy/converter.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/graphene_sqlalchemy/converter.py b/graphene_sqlalchemy/converter.py index faedb8d2..9510b071 100644 --- a/graphene_sqlalchemy/converter.py +++ b/graphene_sqlalchemy/converter.py @@ -150,8 +150,11 @@ def convert_enum_to_enum(type, column, registry=None): items = type.enum_class.__members__.items() except AttributeError: items = zip(type.enums, type.enums) + + enum_name = type.name or "{}_{}".format(column.table, column.name) + return Field( - Enum(type.name, items), + Enum(enum_name, items), description=get_column_doc(column), required=not (is_column_nullable(column)), )