如何使用SQLalchemy将引擎绑定到表

时间:2017-11-08 17:22:50

标签: python postgresql orm sqlalchemy

我是SQLalchemy的新手并尝试查询Postgres中的以下现有表from exception_app.db import engine,session Base = declarative_base(cls=DeferredReflection) class Exception(Base): __tablename__ = 'exception' __table_args__ = {'autoload_with': engine, 'autoload': True}

engine

sessiondb.pyengine = create_engine(URL(**settings.DATABASE)) session = scoped_session(sessionmaker(bind=engine))

中定义
exception

现在我想查询def setup_jobs(): session.query(Exception).all() 并使用以下方法检索所有记录:

sqlalchemy.exc.UnboundExecutionError: No engine is bound to this Table's MetaData. Pass an engine to the Table via autoload_with=<someengine>, or associate the MetaData with an engine via metadata.bind=<someengine>

然而,当我运行它时,我收到错误:

'autoload_with': engine

我已将引擎传递到表Base = declarative_base(cls=DeferredReflection)。为什么还在抱怨?

根据this post,我添加了{{1}}来延迟自动加载。它仍然无济于事。

将引擎绑定到现有表的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

以下是我通常建立连接的方式:

ffmpeg -y -i udp_ip -vf scale=iw*sar:ih,setsar=1 -vframes 1 -q:v 1 test.png