我想检查是否存在具有两个列的两个值的行。我尝试了以下代码,但它仅适用于第一列,即电子邮件,但不适用。如何检查where子句中的两列?

session.query(exists().where(User.email == '...' and User.pass == '...')).scalar()

最佳答案

SQLAlchemy过滤器对象与按位运算符&|组合在一起,而不是布尔andor

session.query((exists().where(User.email == '...') & (User.password == '...'))).scalar()


还有and_or_函数来组合多个语句。

import sqlalchemy as sa

sa.and_(User.email == '...', User.password == '...')

09-09 21:56
查看更多