为什么column.in_在SQL中变为'='?

时间:2013-02-12 02:35:48

标签: sqlalchemy

Query(State).filter(State.c.abbr.in_(stateList)).all()

SQLError:(TypeError)并非在字符串格式化过程中转换所有参数u'SELECT states.abbr AS states_abbr \ nFROM states \ nWHERE states.abbr =%s ORDER BY states.abbr'[[' AL','AZ','WY','AB','BC','MB','NB']]

我以为in_假设要转换为WHERE ... IN子句......?

我哪里错了?

1 个答案:

答案 0 :(得分:0)

尝试打印stateList的内容。 确保stateList是字符串列表,而不是其他内容 - 如列表列表。

要检查的另一件事 - 什么样的对象State?是表格还是映射对象。 如果它是映射对象,则可以使用State.abbr.in_()