SQLAlchemy model to dictionary

Estou construindo um aplicativo com AngularJS + Flask no Heroku. Eu realmente amo como o Flask é extensível e poderoso. Aqui está um pequeno pedaço de código que eu uso para converter o modelo SQLAlchemy em dicionário e, em seguida, serializo-o para JSON.

def model_to_dict(inst, cls):
"""
Jsonify the sql alchemy query result. Skips attr starting with "
_"
"""

convert
= { "DATETIME": datetime.datetime.isoformat}
d
= dict()
for c in cls.__table__.columns:
if c.name.startswith("_"):
continue
v
= getattr(inst, c.name)
current_type
= str(c.type)
if current_type in convert.keys() and v is not None:
try:
d
[c.name] = convert[current_type](v)
except:
d
[c.name] = "Error: Failed to covert using ", unicode(convert[c.type])
elif v is None:
d
[c.name] = unicode()
else:
d
[c.name] = v
return d

Em vez de usar sublinhado para ocultar campos, você pode escrever seu próprio serializador, por exemplo, https://github.com/mattupstate/overholt/blob/master/overholt/products/models.py