将sqlalchemy.sql与声明性ORM一起使用

时间:2009-12-21 09:16:57

标签: sqlalchemy

sqlalchemy.sql模块似乎假设我已经创建了Table实例,但是我已经使用Declarative样式指定了我的ORM。有没有办法从Declarative类中提取表实例?使用session.query()似乎比sqlalchemy.sql方法的语法更差。

1 个答案:

答案 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)