Хотелось бы узнать, есть ли у вас какое-либо решение для фильтрации с одним запросом в формате «свободный текст» по двум или более полям другой модели
class WitnessFilter(BaseFilterBackend):
def filter_queryset(self, request, queryset, view):
new_queryset = queryset
if view.action == 'list':
serializer = WitnessFilterSerializer(data=request.query_params)
serializer.is_valid(raise_exception=True)
data = serializer.validated_data
language = data.get('language')
city = data.get('city')
free_text = data.get('free_text') # <<<<<<<<<<<<
if free_text:
new_queryset = new_queryset.filter(Q(first_name__icontains=free_text) |
Q(last_name__icontains=free_text))
когда кто-то передает «somefirstname somelastname» не найду ничего. он работает только по имени или фамилии.
Спасибо!