python - sqlalchemy 过滤多列

标签 python sql database sqlalchemy

如何合并两列并应用过滤器?例如,我想同时在“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/

相关文章:

python - 在python中将文件路径存储为变量

python - 计算 DataFrame 2x2 行列组的平均值

sql - 按月和年分组

database - 游标可以在 PL/pgSQL 中保存变量吗?

python - 在 3 channel 阵列上创建 numpy 掩码阵列永远行不通

python - Django 中 ForeignKeys、ManyToMany 和 GenericForeignKeys 的最佳实践

Mysql - 连接查询的总和计数结果

sql - TSQL 合并如何工作?针对 UPDATE 和 INSERT 的性能

Python Beautiful Soup WebScraping : Return only new data?

c# - 导入到 SQL Server 后显示数据库中的额外行