diff --git a/users/views.py b/users/views.py index 8658e64..9a86429 100644 --- a/users/views.py +++ b/users/views.py @@ -8,6 +8,8 @@ from rest_framework.views import APIView from rest_framework.generics import RetrieveUpdateDestroyAPIView, ListAPIView, RetrieveAPIView, ListCreateAPIView from rest_framework.permissions import IsAuthenticated, IsAdminUser from rest_framework.authtoken.models import Token +from django_filters.rest_framework import DjangoFilterBackend +from rest_framework import filters from drf_spectacular.utils import extend_schema @@ -79,6 +81,9 @@ class UserListAPIView(ListAPIView): queryset = User.objects.all() serializer_class = UserForAdminSerializer permission_classes = [IsAdminUser] + filter_backends = [DjangoFilterBackend, filters.SearchFilter] + filterset_fields = ['is_superuser', 'role'] + search_fields = ['username', 'email'] @extend_schema(tags=['Users'], summary='CRUD for specific user (only admin)') @@ -100,6 +105,8 @@ class UserAPIView(RetrieveUpdateDestroyAPIView): class SchoolListAPIView(ListCreateAPIView): queryset = SchoolID.objects.all() serializer_class = SchoolIDSerializer + filter_backends = [filters.SearchFilter] + search_fields = ['school_index'] permission_classes = [IsAdminUser] @extend_schema(tags=['Users'],