在webpy db模块中,我有一个查询:
db().query("select * from table where column in ($ERROR_LIST)",
vars=dict(ERROR_LIST=ERROR_LIST)).list()
如果ERROR_LIST
只是一个变量,则此查询没有问题。但我的要求是ERROR_LIST
必须是错误值列表。有没有办法在webpy DB模块中处理列表,还是有其他方法可以完成这项工作?
答案 0 :(得分:1)
如果您有一个包含值列表的变量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')">