我想通过SQLAlchemy从不同的进程执行相同的SQL查询。 据我所知,我必须在每个过程中创建新的Session。因此,对于每个新会话,我必须重新创建查询:
session.query(...).filter(...)
etc.
将完全形成的查询与会话分开保存似乎是合乎逻辑的。然后只将此查询应用于每个会话:
new_session.query(old_saved_query)
有可能吗? 或者还有其他方式吗?
答案 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)