sqlalchemy.sql模块似乎假设我已经创建了Table实例,但是我已经使用Declarative样式指定了我的ORM。有没有办法从Declarative类中提取表实例?使用session.query()似乎比sqlalchemy.sql方法的语法更差。
答案 0 :(得分:3)
您可以从模型类的__table__
属性中获取它:
# Some code is omitted
class Model(Base):
__tablename__ = 'models'
id = Column(Integer, primary_key=True)
print repr(Model.__table__)
输出:
Table('models', MetaData(None), Column('id', Integer(), table=<models>,
primary_key=True, nullable=False), schema=None)