【发布时间】:2012-09-05 15:53:51
【问题描述】:
Python supports chained comparisons: 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 也应该支持它。
为什么这不起作用?我想到了一种可能的解决方案(在答案中分享),但很高兴听到其他意见。
【问题讨论】:
标签: python database orm sqlalchemy