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