Мне нужно использовать как запрос в массиве, у меня есть массив в words_array : ["rk.keywords LIKE '%%Donut%%'", "OR rk.keywords LIKE '%%Pizza%%'"]
Мне нужно добавить это в raw_query , наконец, где условиено он возвращает один массив ( ИЛИ rk.keywords LIKE '%% Pizza %%' ):
Views.py
keywords_array=[]
for i in keyword:
keywords={}
if keyword[0]==i:
keywords="rk.keywords LIKE '%%"+i+"%%'"
else:
keywords="OR rk.keywords LIKE '%%"+i+"%%'"
keywords_array.append(keywords)
for t in keywords_array:
raw_query="SELECT r.id,( 3959 * Acos(Cos(Radians(" +lat +")) * Cos(Radians(lat)) * Cos( Radians(lng) - Radians("+lng+")) + Sin (Radians("+lat+")) * Sin(Radians(lat)))) AS distance FROM backend_restaurant r LEFT JOIN backend_restaurant_keywords m2m ON m2m.restaurant_id = r.id LEFT JOIN backend_restaurantkeyword rk ON m2m.id = rk.id WHERE "+ t +""
печать (raw_query)
SELECT r.id,( 3959 * Acos(Cos(Radians(30.704649)) * Cos(Radians(lat)) * Cos( Radians(lng) - Radians(76.717873)) + Sin (Radians(30.704649)) * Sin(Radians(lat)))) AS distance FROM backend_restaurant r LEFT JOIN backend_restaurant_keywords m2m ON m2m.restaurant_id = r.id LEFT JOIN backend_restaurantkeyword rk ON m2m.id = rk.id WHERE OR rk.keywords LIKE '%%Pizza%%'