我正在使用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