Sqlalchemy 为什么column.in在SQL中变成“=”?

Sqlalchemy 为什么column.in在SQL中变成“=”?,sqlalchemy,Sqlalchemy,SQLError:TypeError在字符串格式化过程中未转换所有参数u'SELECT states.abbr AS states_abbr\n从states\n此处states.abbr=%s按状态排序。abbr'[['AL','AZ','WY','AB','BC','MB','NB']] 我以为in_u会变成一个。。。在条款中 我哪里出错了?尝试打印状态列表的内容。 确保stateList是一个字符串列表,而不是其他类似列表的东西 还要检查的另一件事是什么样的对象状态?它是表还是映射对象。

SQLError:TypeError在字符串格式化过程中未转换所有参数u'SELECT states.abbr AS states_abbr\n从states\n此处states.abbr=%s按状态排序。abbr'[['AL','AZ','WY','AB','BC','MB','NB']]

我以为in_u会变成一个。。。在条款中

我哪里出错了?

尝试打印状态列表的内容。 确保stateList是一个字符串列表,而不是其他类似列表的东西

还要检查的另一件事是什么样的对象状态?它是表还是映射对象。
如果它是映射对象,您可以只使用State.abbr.in.

stateList实际上是一个列表。状态是一个映射对象,但使用的是较旧版本的SQLAlchemy这是哪个版本的SQLAlchemy,以及哪个方言/后端?SQLAlchemy 0.3,Turbogears v1,Python 2.5.6。我知道这是SQLAlchemy的一个非常旧的版本,但是我们的团队不确定如果我们升级会有多少东西损坏,以及修复它们的成本有多高。您可能需要将其称为0.3中的in_*stateList。
Query(State).filter(State.c.abbr.in_(stateList)).all()