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

2024-03-29 10:23:51 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用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())

Tags: 数据iddbbycontactorder运算符filter
1条回答
网友
1楼 · 发布于 2024-03-29 10:23:51

这个问题在添加or_()函数后得到了解决

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())

相关问题 更多 >