如何合并两列并应用过滤器?例如,我想同时在“firstname”和“lastname”列中进行搜索。如果只搜索一列,我就是这样做的:
query = meta.Session.query(User).filter(User.firstname.like(searchVar))
最佳答案
有很多方法可以做到:
使用 filter()
(and 运算符)
query = meta.Session.query(User).filter(
User.firstname.like(search_var1),
User.lastname.like(search_var2)
)
使用 filter_by()
(and 运算符)
query = meta.Session.query(User).filter_by(
firstname.like(search_var1),
lastname.like(search_var2)
)
链接 filter()
或 filter_by()
(and 运算符)
query = meta.Session.query(User).\
filter_by(firstname.like(search_var1)).\
filter_by(lastname.like(search_var2))
使用 or_()
、and_()
和 not()
from sqlalchemy import and_, or_, not_
query = meta.Session.query(User).filter(
and_(
User.firstname.like(search_var1),
User.lastname.like(search_var2)
)
)
关于python - sqlalchemy 过滤多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332991/