如何从 sqlalchemy 中的 session/engine/meta 获取表名及其数据类型?
Posted
技术标签:
【中文标题】如何从 sqlalchemy 中的 session/engine/meta 获取表名及其数据类型?【英文标题】:How to get table names and their data types from session/engine/meta in sqlalchemy? 【发布时间】:2021-01-10 22:59:16 【问题描述】:假设我有一个模型:
class User(Base):
__tablename__ = 'users'
id = Column(Integer, Sequence('user_id_seq'), primary_key=True)
name = Column(String(50))
fullname = Column(String(50))
nickname = Column(String(50))
现在在代码中,我想要 User 类的所有数据类型,最好的方法是什么?
【问题讨论】:
【参考方案1】:您可以访问模型的__table__
属性并直接与列元素交互:
for for x in User.__table__.c:
print(x, x.type)
>> users.id INTEGER
>> users.name VARCHAR(50)
>> users.fullname VARCHAR(50)
>> users.nickname VARCHAR(50)
【讨论】:
以上是关于如何从 sqlalchemy 中的 session/engine/meta 获取表名及其数据类型?的主要内容,如果未能解决你的问题,请参考以下文章
SQLAlchemy 中的 Session、sessionmaker、scoped_session
SQLAlchemy 中的 Sessionsessionmakerscoped_session
SQLAlchemy:直接从一对多关系中删除对象,而不使用 session.delete()