-# https://stackoverflow.com/a/37350445
-def sqlalchemy_model_to_dict(model):
- return {c.key: getattr(model, c.key)
- for c in inspect(model).mapper.column_attrs}
-
-
-class JSONEncoder(flask.json.JSONEncoder):
- def default(self, object):
- if isinstance(object, datetime.datetime):
- return object.isoformat()
- elif isinstance(object, db.Model):
- return sqlalchemy_model_to_dict(object)
- return super().default(object)
-
-