2011-12-09 154 views
1

在webpy DB模塊我有一個查詢:問題DB選擇查詢

db().query("select * from table where column in ($ERROR_LIST)", 
    vars=dict(ERROR_LIST=ERROR_LIST)).list() 

沒有與此查詢沒有問題,如果ERROR_LIST僅僅是一個變量。但我的要求是ERROR_LIST必須是錯誤值列表。有沒有辦法處理webpy數據庫模塊中的列表或有任何其他方式來完成這項工作?

+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')">