def _get_col(self, row, key):
if isinstance(key, schema.Column) or isinstance(key, sql.ColumnElement):
try:
rec = self.props[key._label.lower()]
except KeyError:
try:
rec = self.props[key.key.lower()]
except KeyError:
rec = self.props[key.name.lower()]
elif isinstance(key, str):
rec = self.props[key.lower()]
else:
rec = self.props[key]
return rec[0].convert_result_value(row[rec[1]], self.engine)