SQLAlchemy 的 session.execute() IN 运算符

Ano*_*ari 2 python sqlalchemy pyramid

当我尝试执行这个简单的请求时,我遇到一个问题:

params['_filter_items'] = (12345)

sql = """ SELECT * FROM items
          WHERE items.items IN %(_filter_items)s"""
# session is a db session of sqlAlchemy
query = session.execute(sql % params)
Run Code Online (Sandbox Code Playgroud)

它将生成:

SELECT * FROM items
WHERE items.items IN 12345
Run Code Online (Sandbox Code Playgroud)

没有 () 当我有多个项目时也可以;我可以触摸该请求;但我想知道是否还有其他方法可以解决它。

Aza*_*kov 5

尝试

params['_filter_items'] = (12345,)

sql = """ SELECT * FROM items
          WHERE items.items IN %(_filter_items)s"""
# session is a db session of sqlAlchemy
query = session.execute(sql, params)
Run Code Online (Sandbox Code Playgroud)