gpt4 book ai didi

python - SQLAlchemy - 分离前的完整加载实例

转载 作者:太空狗 更新时间:2023-10-30 01:30:36 25 4
gpt4 key购买 nike

有没有办法在从 session 中分离之前完全加载一些 SQLAlchemy ORM 映射实例(连同它的相关对象)?我想通过管道将它发送到另一个进程中,我不想将它合并到这个新进程中的 session 中。

谢谢

最佳答案

我相信您会想要使用 options() method on the Query, with eagerload() or eagerload_all() .

这是我们的一个应用程序的使用示例,其中类 Controlled 有一个名为 changes 的关系,它引入了一堆 DocumentChange 记录,它们本身有一个 dco 关系,每个实例引入一个 Dco 对象。这是一个两级预加载,因此使用了 eagerload_all()。我们正在使用 declarative 扩展(以防万一)并且 m.Session 是一个“作用域”(线程本地) session 。

from sqlalchemy.orm import eagerload, eagerload_all
...
controlled_docs = (m.Session.query(m.Controlled)
.options(eagerload_all('changes.dco'))
.order_by('number')
.all())

如果这还不够,也许包括一个片段或文本来显示相关的 ORM 类是如何相关的,我可以更新答案以显示如何在您的案例中使用这些选项。

关于python - SQLAlchemy - 分离前的完整加载实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2432941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com