School search and user search with filters (frontend man like it)

This commit is contained in:
Stepan 2026-01-06 17:38:36 +01:00
parent 7892c8358e
commit 280da6a1a4

View File

@ -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'],