python - 如何在 SQLAlchemy 中查询热切连接的表?
问题描述
我有 3 张桌子
class DB1(Base):
row1 = Column(Integer, primary_key=True)
row2 = Column(String)
row3 = relationship("db2", lazy='joined')
class DB2(Base):
row1 = Column(Integer, primary_key=True)
row2 = Column(String)
row3 = relationship("db3", lazy='joined')
class DB3(Base):
row1 = Column(Integer, primary_key=True)
row2 = Column(String)
考虑到渴望加入,我的查询看起来像这样
SELECT db1.row1 AS db1_row1, db1.row2 AS db_row2, db1.row3 as db_row3
db2.row1 AS db2_row1, db2.row2 AS db_row2, db2.row3 AS db_row3,
db3.row1 AS db3_row1, db3.row2 AS db_row2
FROM db1
LEFT OUTER JOIN db2 AS db2_1 ON db2_1.row1 = db1.row3
LEFT OUTER JOIN db3 AS db3_1 ON db3_1.row1 = db2.row3
该查询位于 Query 对象中,我想在 db2 和 db3 上应用过滤条件,但在 Query 中,它们被命名为 db2_1 和 db3_1。我正在动态应用过滤条件,因此我无权访问名称“db2_1”和“db3_1”。我该如何继续?谢谢。
解决方案
推荐阅读
- docker - 启动自定义 Airflow Docker Image GROUP_OR_COMMAND 时出错
- jinja2 - 在进行 django 项目时如何在 jinja 中使用 get 查询?
- zpl - RFID 编码不适用于字符
- swift - 为什么 algolia 不过滤搜索结果?
- python - 使用 for 循环和范围函数与 while 循环
- wordpress - 为现有的 WP Block Editor 设置增加价值
- node.js - 群聊的已读和未读消息状态逻辑
- python - 如何访问字典值
- python - 无法将 CV2 输出的记录嵌入到 HTML 中
- python - 使用依赖于 colname 的 Pandas Rolling Apply 的自定义函数