Skip to content

Commit f3cc076

Browse files
authored
Merge pull request #25 from kvey/feature/support-column-property
Fix column_property support
2 parents 9efb84a + b0a2cbb commit f3cc076

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

graphene_sqlalchemy/converter.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -105,49 +105,49 @@ def convert_column_to_datetime(type, column, registry=None):
105105
@convert_sqlalchemy_type.register(types.Integer)
106106
def convert_column_to_int_or_id(type, column, registry=None):
107107
if column.primary_key:
108-
return ID(description=column.doc, required=not (column.nullable))
108+
return ID(description=getattr(column, 'doc', None), required=not (getattr(column, 'nullable', None)))
109109
else:
110110
return Int(description=getattr(column, 'doc', None),
111111
required=not (getattr(column, 'nullable', True)))
112112

113113

114114
@convert_sqlalchemy_type.register(types.Boolean)
115115
def convert_column_to_boolean(type, column, registry=None):
116-
return Boolean(description=column.doc, required=not(column.nullable))
116+
return Boolean(description=getattr(column, 'doc', None), required=not(getattr(column, 'nullable', None)))
117117

118118

119119
@convert_sqlalchemy_type.register(types.Float)
120120
@convert_sqlalchemy_type.register(types.Numeric)
121121
@convert_sqlalchemy_type.register(types.BigInteger)
122122
def convert_column_to_float(type, column, registry=None):
123-
return Float(description=column.doc, required=not(column.nullable))
123+
return Float(description=getattr(column, 'doc', None), required=not(getattr(column, 'nullable', None)))
124124

125125

126126
@convert_sqlalchemy_type.register(ChoiceType)
127127
def convert_column_to_enum(type, column, registry=None):
128128
name = '{}_{}'.format(column.table.name, column.name).upper()
129-
return Enum(name, type.choices, description=column.doc)
129+
return Enum(name, type.choices, description=getattr(column, 'doc', None))
130130

131131

132132
@convert_sqlalchemy_type.register(ScalarListType)
133133
def convert_scalar_list_to_list(type, column, registry=None):
134-
return List(String, description=column.doc)
134+
return List(String, description=getattr(column, 'doc', None))
135135

136136

137137
@convert_sqlalchemy_type.register(postgresql.ARRAY)
138138
def convert_postgres_array_to_list(_type, column, registry=None):
139139
graphene_type = convert_sqlalchemy_type(column.type.item_type, column)
140140
inner_type = type(graphene_type)
141-
return List(inner_type, description=column.doc, required=not(column.nullable))
141+
return List(inner_type, description=getattr(column, 'doc', None), required=not(getattr(column, 'nullable', None)))
142142

143143

144144
@convert_sqlalchemy_type.register(postgresql.HSTORE)
145145
@convert_sqlalchemy_type.register(postgresql.JSON)
146146
@convert_sqlalchemy_type.register(postgresql.JSONB)
147147
def convert_json_to_string(type, column, registry=None):
148-
return JSONString(description=column.doc, required=not(column.nullable))
148+
return JSONString(description=getattr(column, 'doc', None), required=not(getattr(column, 'nullable', None)))
149149

150150

151151
@convert_sqlalchemy_type.register(JSONType)
152152
def convert_json_type_to_string(type, column, registry=None):
153-
return JSONString(description=column.doc, required=not(column.nullable))
153+
return JSONString(description=getattr(column, 'doc', None), required=not(getattr(column, 'nullable', None)))

0 commit comments

Comments
 (0)