在 webpy db 模块中我有一个查询:
db().query("select * from table where column in ($ERROR_LIST)",
vars=dict(ERROR_LIST=ERROR_LIST)).list()
如果 ERROR_LIST
只是一个变量,则此查询没有问题。但我的要求是 ERROR_LIST
必须是错误值列表。有没有一种方法可以处理 webpy 数据库模块中的列表,或者有没有其他方法可以完成这项工作?
最佳答案
如果您有一个包含值列表的变量 error_list
,让 webpy 为您转换所有内容,也不要在变量周围添加 ():
db.query("SELECT * FROM table WHERE column IN $ERROR_LIST", vars(dict(ERROR_LIST,error_list)))
因为我相信 reparam
使用相同的方法,所以这似乎有效(包括为您添加括号):
>>> error_list = ['a','b','c']
>>> reparam("s IN $ERROR_LIST", dict(ERROR_LIST=error_list))
<sql: "s IN ('a', 'b', 'c')">
关于python - webpy db 选择查询中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8443641/