Shr*_*dha 3 python sqlalchemy flask-sqlalchemy
我有 2 个表(比如Student和College)和第三个表(StudentCollege),其中有student_id和college_id外键。
我想给出以下查询的输出:
list = (
db.session.query(StudentCollegeModel.College_id)
.filter(StudentCollegeModel.student_id== student_id)
.all()
)
Run Code Online (Sandbox Code Playgroud)
以下查询:
(
db.session.query(CollegeModel)
.filter(CollegeModel.College_id.in_(list))
.all()
)
Run Code Online (Sandbox Code Playgroud)
但它给出了编程错误。
您无需执行第一个查询即可将其用作第二个查询中的子查询。这使您不必College_id在进行in_()查询之前构建所有's 的内存列表,并且意味着您只需往返数据库一次。
subquery = (
db.session.query(StudentCollegeModel.College_id)
.filter(StudentCollegeModel.student_id== student_id)
)
result = (
db.session.query(CollegeModel)
.filter(CollegeModel.College_id.in_(subquery))
.all()
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |