From 8c040bab3d197f967524bb96eef18e4e74dc52e0 Mon Sep 17 00:00:00 2001 From: Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org> Date: Thu, 7 Sep 2023 20:11:22 +0200 Subject: [PATCH] feat(REST): add search filter to /shows endpoint The dashboard will need to implement a paginated list of shows that should be searchable. --- program/views.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/program/views.py b/program/views.py index 41751b62..6012b1ef 100644 --- a/program/views.py +++ b/program/views.py @@ -36,6 +36,7 @@ from django.http import Http404, HttpResponse from django.shortcuts import get_object_or_404 from django.utils import timezone from django.utils.translation import gettext as _ +from django_filters.rest_framework import DjangoFilterBackend from program import filters from program.models import ( Category, @@ -373,7 +374,9 @@ class APIShowViewSet(DisabledObjectPermissionCheckMixin, viewsets.ModelViewSet): serializer_class = ShowSerializer permission_classes = [permissions.DjangoModelPermissionsOrAnonReadOnly] pagination_class = LimitOffsetPagination + filter_backends = [DjangoFilterBackend, drf_filters.SearchFilter] filterset_class = filters.ShowFilterSet + search_fields = ["name", "slug", "short_description", "description"] def get_object(self): queryset = self.filter_queryset(self.get_queryset()) -- GitLab