python - 如何使用 sqlalchemy orm 连接来自多个数据库的表
问题描述
我是 python 新手。我对连接多个数据库并用它编写连接查询有疑问。我的原始查询是:
SELECT FD.number, FD.options, DATE_FORMAT(TD.date,"%y-%m-%d") as date,
T.id,S.name, S.id, CP.id, FL.id from finance.reports FD inner join
finance.details TD on FD.number=TD.number inner join app.trans T on T.id = FD.id inner join app.students S on S.id = T.student_id inner join internal.c_map CP on
FD.options=CP.mode left join internal.trans_logger FL on FL.number = FD.number Where S.id = "181" order by FD.number desc limit 50
这里我使用了三个数据库,
finance, app, internal
来自财务数据库的表是报告和详细信息,来自应用程序数据库的表是学生和跨,来自内部的表是 trans_logger 和 c_map
该原始查询正在运行。但我需要使用 orm 编写相同的查询。如何绑定数据库并实现这一点。
我试过这样,但它不起作用,
Session = sessionmaker()
Session.configure(binds={
T1: create_engine("finance"),
T2: create_engine("internal"),
T3: create_engine("app")
}
session = Session()
q = (session.query(T1)
.join(T2, T1.reports.number == T2.details.number)
.join(T3, T1.students.id == T2.trans.student_id)
.limit(50)
)
我错过了一些东西。请帮助我在 orm 中实现原始查询。
解决方案
推荐阅读
- regex - 在第二个和第三个连字符之间提取 TextString
- php - Laravel 7 adminLTE 参数 1 传递::__construct() 必须是数组类型,给定 null
- php - Medoo 中有 IN() 函数吗?
- javascript - 从服务器获取 PDF 文件失败:net::ERR_HTTP2_PROTOCOL_ERROR 200
- mongodb - 在 MongoDB 中按字段值计算文档
- android - cpp文件中的Android NDK未定义引用
- docker - 使用 dlv 调试 dockerd 失败
- java - 即使用户名和密码存在于数据库中并且有效,“用户名或密码不匹配”
- excel - OBIEE 11 - 打开文件系统上下载的 excel 文件时出错
- python - 代码没有散列?
>