diff --git a/graphene_sqlalchemy/converter.py b/graphene_sqlalchemy/converter.py index 05690697..0c8f53ba 100644 --- a/graphene_sqlalchemy/converter.py +++ b/graphene_sqlalchemy/converter.py @@ -99,9 +99,10 @@ def convert_column_to_string(type, column, registry=None): @convert_sqlalchemy_type.register(types.Integer) def convert_column_to_int_or_id(type, column, registry=None): if column.primary_key: - return ID(description=column.doc, required=not(column.nullable)) + return ID(description=column.doc, required=not (column.nullable)) else: - return Int(description=column.doc, required=not(column.nullable)) + return Int(description=getattr(column, 'doc', None), + required=not (getattr(column, 'nullable', True))) @convert_sqlalchemy_type.register(types.Boolean) diff --git a/graphene_sqlalchemy/tests/test_converter.py b/graphene_sqlalchemy/tests/test_converter.py index 0157f837..8ec2283c 100644 --- a/graphene_sqlalchemy/tests/test_converter.py +++ b/graphene_sqlalchemy/tests/test_converter.py @@ -113,6 +113,11 @@ def test_should_label_convert_string(): assert isinstance(graphene_type, graphene.String) +def test_should_label_convert_int(): + label = Label('int_label_test', case([], else_="foo"), type_=types.Integer()) + graphene_type = convert_sqlalchemy_column(label) + assert isinstance(graphene_type, graphene.Int) + def test_should_choice_convert_enum(): TYPES = [ (u'es', u'Spanish'),