Поиск по двум словам
Имя моего экземпляра - "hello world", представьте, что в экстренной ситуации я собираюсь искать с параметром "helloworld". как обрабатывать случаи без пробела
?if q:
normalized_q = q.replace('_', ' ').replace('-', ' ').replace('/', ' ').strip()
programs = programs.annotate(
search=SearchVector(
Replace(Replace(Replace('marketing_title', Value('_'), Value(' ')), Value('-'), Value(' ')), Value('/'), Value(' ')),
Replace(Replace(Replace('slug', Value('_'), Value(' ')), Value('-'), Value(' ')), Value('/'), Value(' ')),
Replace(Replace(Replace('name', Value('_'), Value(' ')), Value('-'), Value(' ')), Value('/'), Value(' '))
)
)
search_query = SearchQuery(normalized_q)
programs = programs.filter(
Q(search=search_query) |
Q(name__icontains=normalized_q) |
Q(program_duration__icontains=normalized_q)
)