Python 在多列中使用LIKE运算符的SQLAlchemy

Python 在多列中使用LIKE运算符的SQLAlchemy,python,flask,sqlalchemy,flask-sqlalchemy,Python,Flask,Sqlalchemy,Flask Sqlalchemy,是否可以使用LIKE运算符多列筛选数据 users = db.UserOPD.query\ .filter(\ db.UserOPD.alamat.like('%'+q+'%'),\ db.UserOPD.contact.like('%'+q+'%'),\ db.UserOPD.jabatan.like('%'+q+'%')\ )\ .order_by(db.User

是否可以使用LIKE运算符多列筛选数据

users = db.UserOPD.query\
        .filter(\
            db.UserOPD.alamat.like('%'+q+'%'),\
            db.UserOPD.contact.like('%'+q+'%'),\
            db.UserOPD.jabatan.like('%'+q+'%')\
            )\
         .order_by(db.UserOPD.id.desc())

此问题在添加or_u函数后解决

from sqlalchemy import or_
users = db.UserOPD.query\
          .filter(\
                  or_(\
                      db.UserOPD.alamat.like('%'+q+'%'),\
                      db.UserOPD.contact.like('%'+q+'%'),\
                      db.UserOPD.jabatan.like('%'+q+'%'),\
                      db.UserOPD.nama.like('%'+q+'%')\
                     )\
                  )\
          .order_by(db.UserOPD.id.desc())

您是否遇到错误?此查询返回纯sql,如SELECT。。。。。其中tb_user_opd.alamat LIKE%alamat_1s和tb_user_opd.contact LIKE%contact_1s和tb_user_opd.jabatan LIKE%jabatan_1s订单由tb_user_opd.id描述,您想要的查询是什么?您在寻找or_1s吗?哦,谢谢,我添加了or_1s函数,我得到了预期的结果