SQLAlchemy самоанализ классов / объектов ORM
Я ищу способ исследовать классы / сущности SQLAlchemy ORM, чтобы определить типы и другие ограничения (например, максимальную длину) свойств сущности.
Например, если у меня есть декларативный класс:
class User(Base):
__tablename__ = "USER_TABLE"
id = sa.Column(sa.types.Integer, primary_key=True)
fullname = sa.Column(sa.types.String(100))
username = sa.Column(sa.types.String(20), nullable=False)
password = sa.Column(sa.types.String(20), nullable=False)
created_timestamp = sa.Column(sa.types.DateTime, nullable=False)
Я бы хотел узнать, чтоfullname
'поле должно быть строкой с максимальной длиной 100 и может иметь значение NULL. Иcreated_timestamp
'поле является DateTime и не может иметь значение null.