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.generics import RetrieveUpdateDestroyAPIView, ListAPIView, RetrieveAPIView, ListCreateAPIView
|
||||||
from rest_framework.permissions import IsAuthenticated, IsAdminUser
|
from rest_framework.permissions import IsAuthenticated, IsAdminUser
|
||||||
from rest_framework.authtoken.models import Token
|
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
|
from drf_spectacular.utils import extend_schema
|
||||||
|
|
||||||
@ -79,6 +81,9 @@ class UserListAPIView(ListAPIView):
|
|||||||
queryset = User.objects.all()
|
queryset = User.objects.all()
|
||||||
serializer_class = UserForAdminSerializer
|
serializer_class = UserForAdminSerializer
|
||||||
permission_classes = [IsAdminUser]
|
permission_classes = [IsAdminUser]
|
||||||
|
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
|
||||||
|
filterset_fields = ['is_superuser', 'role']
|
||||||
|
search_fields = ['username', 'email']
|
||||||
|
|
||||||
@extend_schema(tags=['Users'],
|
@extend_schema(tags=['Users'],
|
||||||
summary='CRUD for specific user (only admin)')
|
summary='CRUD for specific user (only admin)')
|
||||||
@ -100,6 +105,8 @@ class UserAPIView(RetrieveUpdateDestroyAPIView):
|
|||||||
class SchoolListAPIView(ListCreateAPIView):
|
class SchoolListAPIView(ListCreateAPIView):
|
||||||
queryset = SchoolID.objects.all()
|
queryset = SchoolID.objects.all()
|
||||||
serializer_class = SchoolIDSerializer
|
serializer_class = SchoolIDSerializer
|
||||||
|
filter_backends = [filters.SearchFilter]
|
||||||
|
search_fields = ['school_index']
|
||||||
permission_classes = [IsAdminUser]
|
permission_classes = [IsAdminUser]
|
||||||
|
|
||||||
@extend_schema(tags=['Users'],
|
@extend_schema(tags=['Users'],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user