Python支持链式比较:1 < 2 < 3
转换为(1 < 2) and (2 < 3)
.
我正在尝试使用 SQLAlchemy 进行 SQL 查询,如下所示:
results = session.query(Couple).filter(10 < Couple.NumOfResults < 20).all()
我得到的结果并不像预期的那样。我已经打开了引擎的echo=True
关键字,而且确实 - 生成的 SQL 查询只包含两个比较之一。
我找不到任何明确说明这是禁止的文档。我假设如果 Python 支持这种类型的表达式,那么 SQLAlchemy 也应该支持它。
为什么这不起作用?我想到了一种可能的解决方案(在答案中共享),但很高兴听到其他意见。