к примеру в базе есть поле которое гранит значение в виде
"один два три"; "один"; "два"; "три"; "два три"; "один три"; "один два"; "три два один" т.е. в любой комбинации и разделением через пробел.
Я с клиента получаю данные в виде "один два три" или [один, два, три]
Мне нужно исключить все записи где хотя бы раз упоминается данные.
Делаю
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