Поиск по двум словам

Имя моего экземпляра - "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)
    )
Вернуться на верх