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)
没有 () 当我有多个项目时也可以;我可以触摸该请求;但我想知道是否还有其他方法可以解决它。
这个对象
(12345)
Run Code Online (Sandbox Code Playgroud)
是相同的
12345
Run Code Online (Sandbox Code Playgroud)
但看起来你需要tuple使用单个元素12345,可以用逗号来完成
(12345,)
Run Code Online (Sandbox Code Playgroud)我们应该避免自己插入参数:
session.execute(sql % params)
Run Code Online (Sandbox Code Playgroud)
让我们将这项工作委托给SQLAlchemy数据库驱动程序并将参数作为参数传递给execute:
session.execute(sql, params)
Run Code Online (Sandbox Code Playgroud)尝试
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)
| 归档时间: |
|
| 查看次数: |
17709 次 |
| 最近记录: |