мне трудно исправить это. У меня есть функция поиска, которая будет искать название кампании или название запуска кампании. например, если пользователь ищет все кампании, запущенные Джоном Доу. Я хочу заключить все пробелы с ожидаемым '%' (% john% doe%).
campaigns = Campaign.objects.filter(title(re.sub('/\s/g ', '%', search)) | launcher(re.sub('/\s/g ', '%', search)))
Я также пытался
campaigns = Campaign.objects.filter(title(re.sub(' ', '%', search)) | launcher(re.sub(' ', '%', search)))
, но мой код не работает правильно. я получаю
`camp`.`name` LIKE '%john doe%' OR `user`.`name` LIKE '%john doe%'
и если я выполняю search.replace ("", "%") я получаю
`camp`.`name` LIKE '%john\\%doe%' OR `user`.`name` LIKE '%john\\%doe%'
я также получаю эту подфункцию
def search_campaign(request, search):
def title(search):
return Q(name__icontains=search)
def launcher(search):
return Q(created_by_name__icontains=search)
любая помощь будет высоко ценится.