将python sqlalchemy查询转换为SQL
为了完成一项任务,我正在处理一个涉及学区的postgreSQL数据库集合。我正在尝试填充新字段将python sqlalchemy查询转换为SQL,python,sql,database,postgresql,sqlalchemy,Python,Sql,Database,Postgresql,Sqlalchemy,为了完成一项任务,我正在处理一个涉及学区的postgreSQL数据库集合。我正在尝试填充新字段student\u gpas,这是一个存储唯一学生gpa的数组。我使用python和sqlalchemy通过以下代码完成了这项工作: schools = db.session.query(School).filter(school.is_selected == true).all() For sch in schools: grades = db.session.query(Grade).filte
student\u gpas
,这是一个存储唯一学生gpa的数组。我使用python和sqlalchemy通过以下代码完成了这项工作:
schools = db.session.query(School).filter(school.is_selected == true).all()
For sch in schools:
grades = db.session.query(Grade).filter(grade.school_id == sch.id).all()
For gr in grades:
classes = db.session.query(Class).filter(class.grade_id == grades.id).all()
For cl in classes:
students = db.session.query(Student).filter(student.class_id == cl.id).all()
For st in students:
If st.gpa not in gr.student_gpas:
gr.student_gpas.append(st.gpa)
如果我想把这段代码片段转换成一条长而复杂的SQL语句,那么它会是什么样子呢 我从sqlalchemy站点[1]获取了以下内容:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:', echo=True)
echo标志是设置SQLAlchemy日志记录的快捷方式,它是通过Python的标准日志记录模块实现的。启用它后,我们将看到生成的所有SQL
[1] 这将不是一个极其复杂的sql查询,只是一个bog标准查询,包含4个表、连接和where子句,再加上一些小技巧,将值连接到一个分隔列表中。请发布这些和一些示例数据的数据库模式。