有没有办法如何在从Session中分离它之前完全加载一些SQLAlchemy ORM映射实例(及其相关对象)?我想通过管道将它发送到另一个进程,我不想在这个新进程中将它合并到session中.
谢谢
扬
options()我相信您会想在查询上eagerload()eagerload_all()使用该方法,使用or。
这是我们的一个应用程序的使用示例,其中该类Controlled有一个名为 的关系changes,它引入了一堆记录,这些记录本身也有一个为每个实例引入一个对象DocumentChange的关系。这是一个两级急切加载,因此使用. 我们正在使用扩展(如果重要的话),并且 m.Session 是一个“范围”(线程本地)会话。dcoDcoeagerload_all()declarative
from sqlalchemy.orm import eagerload, eagerload_all
...
controlled_docs = (m.Session.query(m.Controlled)
.options(eagerload_all('changes.dco'))
.order_by('number')
.all())
Run Code Online (Sandbox Code Playgroud)
如果这还不够,也许可以包含一个片段或文本,显示相关的 ORM 类如何相关,我可以更新答案以显示如何在您的案例中使用这些选项。
| 归档时间: |
|
| 查看次数: |
728 次 |
| 最近记录: |