Building a Statement
stmt = (
select(Course)
.where(Course.subject_code == "CS", Course.credits >= 3)
.where(Course.is_active)
.order_by(Course.number.desc())
.limit(5)
)
print(stmt)
SELECT course.course_id, course.subject_code, course.number, ...
FROM course
WHERE course.subject_code = :subject_code_1 AND course.credits >= :credits_1
AND course.is_active ORDER BY course.number DESC
LIMIT :param_1
- Each method returns a new statement, so you can build one in steps
:subject_code_1 is a parameter, like %s in psycopg: no SQL injection