SQLAlchemy:是否可以在不受会话限制的情况下运行Query?

时间:2016-08-11 12:32:07

标签: python session sqlalchemy python-3.4

我想通过SQLAlchemy从不同的进程执行相同的SQL查询。 据我所知,我必须在每个过程中创建新的Session。因此,对于每个新会话,我必须重新创建查询:

session.query(...).filter(...)
etc.

将完全形成的查询与会话分开保存似乎是合乎逻辑的。然后只将此查询应用于每个会话:

new_session.query(old_saved_query)

有可能吗? 或者还有其他方式吗?

1 个答案:

答案 0 :(得分:7)

您可以使用with_session

query = session.query(...).filter(...)
query.with_session(new_session)

也可以创建没有绑定会话的查询:

from sqlalchemy.orm import Query

query = Query(...).filter(...)
query.with_session(session)