3 张表里的字段名一致
我在 Googld 搜索的结果都是查询 2 张表的
请问如何一次查多张表呢?
1
NaVient 2019-05-13 09:27:54 +08:00
join 操作?没有外键请直接用 raw 写 sql
|
2
awanabe 2019-05-13 10:22:21 +08:00
flask 里面可以多个 outerjoin 串联 实现多表查询
|
3
gjquoiai 2019-05-13 11:07:43 +08:00 1
emm union ?
|
4
wd 2019-05-13 12:40:05 +08:00 via iPhone
django 里面你应该是通过 model 的关系来查询,如果你真想一次查,那就只能写 join
|
5
freakxx 2019-05-13 14:23:33 +08:00
第一种办法
1 分别查询 2 用 chains 连接起来 3 如果是 drf,建个自定义 serializer 序列化 ------ 第二种 重新抽象 model, 看业务需求用 proxy 模式或者直接用字段表示不同的类型,再分别 filter 出去 |
6
anshengme 2019-05-13 18:17:17 +08:00
|
7
KevinBu OP 多谢各位,现在用 union 解决了这个问题,官方文档里也有介绍
union (* other_qs,all = False ) 使用 SQL 的 UNION 运算符来组合两个或多个 QuerySets 的结果 。例如: >>> qs1.union(qs2, qs3) https://docs.djangoproject.com/en/1.11/ref/models/querysets/#django.db.models.query.QuerySet.union |
8
zibber 2019-05-14 16:58:24 +08:00
关联查询 套两层
|