如何从sqlalchemy中的会话/引擎/元获取表名及其数据类型?

时间:2021-01-10 22:59:16

标签: python sql sqlalchemy

假设我有一个模型:

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 个答案:

答案 0 :(得分:0)

您可以访问模型的 __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)