python type_error ai_generated true

SQLAlchemy 参数错误:WHERE/HAVING 位置期望 SQL 表达式,但得到 5。

sqlalchemy.exc.ArgumentError: SQL expression for WHERE/HAVING role expected, got 5.

ID: python/sqlalchemy-invalid-expression

其他格式: JSON · Markdown 中文 · English
80%修复率
86%置信度
0证据数
2025-10-10首次发现

版本兼容性

版本状态引入弃用备注
1.4.x active
2.0.x active

根因分析

在查询过滤条件中传递了普通 Python 值而不是 SQLAlchemy 表达式。

English

在查询过滤条件中传递了普通 Python 值而不是 SQLAlchemy 表达式。

generic

解决方案

  1. 95% 成功率
    使用列对象构建条件,例如:session.query(User).filter(User.age > 5)
  2. 80% 成功率
    使用 text() 构造原始 SQL 条件。

无效尝试

常见但无效的做法:

  1. 60% 失败

    尝试将值强制转换为字符串,但无法正确生成 SQL。

  2. 70% 失败

    忽略过滤条件,但查询结果不准确。