DJWOMS1
@DJWOMS1
Веб-программист

Как сделать поиск в django?

к примеру в базе есть поле которое гранит значение в виде
"один два три"; "один"; "два"; "три"; "два три"; "один три"; "один два"; "три два один" т.е. в любой комбинации и разделением через пробел.
Я с клиента получаю данные в виде "один два три" или [один, два, три]
Мне нужно исключить все записи где хотя бы раз упоминается данные.
Делаю
coun_id = request.GET.get('coun', None)
            bl = request.GET.getlist('bl[]', None)
            
            if coun_id and bl:
                coun = Count.objects.get(id=coun_id)
                b = ' '.join(bl)
             
                snippets = Model.objects.filter(test=count) \
                                         .exclude(Q(list__in=bl) | \
                                         Q(list__istartswith=b) | \
                                         Q(list__endswith=b) | \
                                         Q(list__icontains=b) | \
                                         Q(list__in=b))[:300]

Но все равно проскакивают варианты когда слова в таблице стоят в другом порядке чем пришли с клиента.
Как решить данную задачу?
База Postgres
  • Вопрос задан
  • 457 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы