Mur*_*ali 3 python mysql sqlalchemy
在我的项目设置中,正在基于SQLAlchemy进行查询。
根据我之前的要求,我用两个查询完成了并集。
现在,我需要对三个查询进行联合。
代码如下:
query1 = query1.filter(model.name == "in-addr.arpa.")
query2 = query2.filter(model.tenant_id.in_(tenant_ids))
query = query1.union(query2)
Run Code Online (Sandbox Code Playgroud)
现在在这里,我需要再添加一个查询,如下所示:
query3 = query3.filter(model.tenant_id == context.tenant_id)
Run Code Online (Sandbox Code Playgroud)
因此,我需要对所有三个查询执行联合。
解决方案如下:
query1 = query1.filter(model.name == "in-addr.arpa.")
query2 = query2.filter(model.tenant_id.in_(tenant_ids))
query3 = query3.filter(model.tenant_id == context.tenant_id)
query = query1.union(query2,query3)
Run Code Online (Sandbox Code Playgroud)
这就是我在 SQLAlchemy 1.3 中这样做的方式
from sqlalchemy import union
query1 = query1.filter(model.name == "in-addr.arpa.")
query2 = query2.filter(model.tenant_id.in_(tenant_ids))
query3 = query3.filter(model.tenant_id == context.tenant_id)
all_queries = [query1, query2, query3]
golden_set = union(*all_queries)
Run Code Online (Sandbox Code Playgroud)
此处的更改是 union 方法接受 SQLAlchemy 可选列表。
| 归档时间: |
|
| 查看次数: |
811 次 |
| 最近记录: |