我正在使用Django 1.7。django查詢多個表 - 將參數傳遞給查詢
我正在嘗試實現搜索功能。當輸入一個搜索詞時,我需要在數據庫中搜索該詞的所有表和所有列(我只有7個表,總共可能有40列,而數據庫不是很大)。我使用MySQL作爲數據庫。
我可以查詢1個表,用下面的代碼中的所有列
query = Q(term__contains=tt) | Q(portal__contains=tt) | ......so on
data = ABC.objects.filter(query)
我試着使用UNION,寫這樣
select * from table A where col1 like %s OR col2 like %s .....
UNION
select * from table B where col1 like %s OR col2 like %s .....
一個SQL當我試圖實現這個像下面,我得到了一個錯誤「沒有足夠的論據格式字符串」
cursor = connection.cursor()
cursor.execute("select * from table A where col1 like %s OR col2 like %s
UNION
select * from table B where col1 like %s OR col2 like %s", tt)
那麼如何傳遞多個變量的參數(即使在這種情況下它們是相同的)呢?我也嘗試過多次傳遞它。
謝謝。
你可能想看看[django-watson](https://github.com/etianen/django-watson) – miraculixx 2015-02-11 00:32:58