我想检查是否存在具有两个列的两个值的行。我尝试了以下代码,但它仅适用于第一列,即电子邮件,但不适用。如何检查where
子句中的两列?
session.query(exists().where(User.email == '...' and User.pass == '...')).scalar()
最佳答案
SQLAlchemy过滤器对象与按位运算符&
和|
组合在一起,而不是布尔and
和or
。
session.query((exists().where(User.email == '...') & (User.password == '...'))).scalar()
还有
and_
和or_
函数来组合多个语句。import sqlalchemy as sa
sa.and_(User.email == '...', User.password == '...')