Estoy buscando una forma de introspectar clases/entidades SQLAlchemy ORM para determinar los tipos y otras restricciones (como longitudes máximas) de las propiedades de una entidad.Introspección SQLAlchemy de clases/objetos ORM
Por ejemplo, si tengo una clase declarativa:
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)
me gustaría ser capaz de descubrir que el 'fullname
' campo debe ser una cadena con una longitud máxima de 100, y es anulable . Y el campo 'created_timestamp
' es DateTime y no puede contener nulos.
He estado pasando tanto tiempo con 'declarative' que olvidé todo sobre mirar las columnas subyacentes. ¡Gracias! –