我是sqlAlchemy的新手。我想将现有的SQL查询转换为sqlAlchemy。
条件是(如果firstName变量不为null,则显示带有firstName的结果,否则忽略(
...
AND (:FirstName is NULL
OR UPPER (employee.firstname) LIKE UPPER ('{firstName}'||'%'))
AND (:LasttName is NULL
OR UPPER (employee.firstname) LIKE UPPER ('{lastName}'||'%'))
您可以使用sqlalchemy函数来实现这一点:
from sqlalchemy import func, or_, and_
db.session.query(
employee
).filter(
or_(
employee.firstname == None,
employee.firstname.ilike('...')
)
# add other filters if needed (and assumed)
)
希望它能有所帮助。