Использовать систему проверки .
from sqlalchemy import inspect
def object_as_dict(obj):
return {c.key: getattr(obj, c.key)
for c in inspect(obj).mapper.column_attrs}
user = session.query(User).first()
d = object_as_dict(user)
Обратите внимание, что .key
- это имя атрибута, которое может отличаться от имени столбца, например в следующем случае:
class_ = Column('class', Text)
Этот метод также работает для column_property
.