Repository URL to install this package:
|
Version:
0.0.1 ▾
|
from django.contrib.auth import get_user_model
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.mixins import RetrieveModelMixin, ListModelMixin, UpdateModelMixin
from rest_framework.response import Response
from rest_framework.viewsets import GenericViewSet
from .serializers import UserSerializer
User = get_user_model()
class UserViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, GenericViewSet):
serializer_class = UserSerializer
queryset = User.objects.all().order_by('username')
lookup_field = 'username'
def get_queryset(self):
queryset = super().get_queryset()
if self.request.user.is_superuser:
return queryset
return queryset.filter(is_superuser=False)
@action(detail=False, methods=['GET'])
def me(self, request, *args, **kwargs):
serializer = UserSerializer(request.user, context={'request': request})
return Response(status=status.HTTP_200_OK, data=serializer.data)