2024-10-01 09:40:57 发布
网友
我正在使用SQLAlchemy来进行一些数据处理和创建一些表。我从用Declarative Base类ORMTable定义的表orm_table加载数据,因此可以用session.query(ORMTable).all()语句查询数据库。在
Declarative Base
ORMTable
orm_table
session.query(ORMTable).all()
但是,我还需要查询另一个表non_orm_table,该表已经存在于数据库中,并且没有在orm中定义。如何在同一会话中查询此表?我没有一个与之相关的类,所以想知道这种情况下的标准做法是什么?在
non_orm_table
下面是制作它的代码片段:
from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker engine = create_engine('<db_connection_string>', echo=True) Base = declarative_base(engine) class NonOrmTable(Base): """ eg. fields: id, title """ __tablename__ = 'non_orm_table' __table_args__ = {'autoload': True} def loadSession(): """""" metadata = Base.metadata Session = sessionmaker(bind=engine) session = Session() return session if __name__ == "__main__": session = loadSession() res = session.query(NonOrmTable).all() print res[1].title
关键是使用SqlAlchemy’s autoload属性。它将把现有的表字段名动态映射到类。在
SqlAlchemy’s autoload
我希望有帮助。在
下面是制作它的代码片段:
关键是使用
SqlAlchemy’s autoload
属性。它将把现有的表字段名动态映射到类。在我希望有帮助。在
相关问题 更多 >
编程相关推荐