Я новичок и занимаюсь разработкой небольшого REST API-проекта с Django rest framework. В базе данных PostgreSQL есть куча записей с текстовым полем, и у меня есть несколько списков ключевых слов. Я пытаюсь отфильтровать данные, которые содержат слова из одного или нескольких моих списков ключевых слов в этом текстовом поле.
Можете ли вы посоветовать мне другой способ организации фильтрации в DRF, используя целый список ключевых слов сразу, не вводя их в форму?
Я пытаюсь сделать это с django_filters
Вот если класс фильтра:
# filter
class DataFilter(django_filters.rest_framework.FilterSet):
keyword = CharFilter(field_name='description', lookup_expr='icontains')
class Meta:
model = Data
fields = ('keyword', )
Вот если посмотреть класс:
# view
class DataList(generics.ListAPIView):
def get_queryset(self):
return Data.objects.filter(deadline__gte=date.today())
serializer_class = DataSerializer
filter_backends = (filters.DjangoFilterBackend,)
filterset_class = DataFilter
Но в этом случае он фильтрует только по одному слову, которое я ввожу в форму.