Sto cercando un modo per analizzare le classi/entità ORM di SQLAlchemy per determinare i tipi e altri vincoli (come le lunghezze massime) delle proprietà di un'entità.SQLAlchemy introspezione di classi ORM/oggetti
Per esempio, se ho una classe dichiarativa:
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)
vorrei essere in grado di scoprire che il campo 'fullname
' dovrebbe essere una stringa con una lunghezza massima di 100, ed è annullabile . E il campo "created_timestamp
" è un DateTime e non è annullabile.
Ho passato così tanto tempo con 'dichiarativo' che mi sono dimenticato di guardare le colonne sottostanti. Grazie! –