成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

python - SqlAlchemy中,一個(gè)query如何多次執(zhí)行filter添加or條件?

瀏覽:132日期:2022-08-05 11:44:39

問題描述

由于某些原因,無法在一個(gè)filter里執(zhí)行添加所有的or

所以有以下情況:已經(jīng)存在一個(gè)queryquery = session.query(User).filter(or_(User.id == 2,User.id == 3))

此時(shí)sql語句為SELECT * FROM USER WHERE id=2 or id =3;

此時(shí)還需要添加一個(gè)條件or_(User.id == 4,User.id == 5)

query = query.filter(or_(User.id == 4,User.id == 5))

此時(shí)sql語句變?yōu)?/p>

SELECT * FROM USER WHERE id=2 or id =3 AND (id=4 or id =5)

我期望的結(jié)果是

SELECT * FROM USER WHERE id=2 or id =3 OR id=4 or id =5

請(qǐng)問要怎么辦?

問題解答

回答1:

不可以這樣子嗎?query = session.query(User).filter(or_(User.id == 2,User.id == 3),User.id == 4,User.id == 5)

回答2:

你請(qǐng)?jiān)囋?/p>

query = session.query(User).filter(or_(User.id == 2, User.id == 3, User.id == 4, User.id == 5))

或者(應(yīng)該更快):

query = session.query(User).filter(User.id.in_([2, 3, 4, 5]))

標(biāo)簽: Python 編程
相關(guān)文章: