School search and user search with filters (frontend man like it)
This commit is contained in:
parent
7892c8358e
commit
280da6a1a4
@ -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'],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user