123456789101112131415161718192021222324252627 |
- from django.contrib.auth import get_user_model
- from django.contrib.auth.models import Group
- from rest_framework.response import Response
- from rest_framework.exceptions import NotFound
- from rest_framework import serializers
- from rest_framework.views import APIView
- from rest_framework.permissions import IsAuthenticated
- from rest_framework_api_key.permissions import HasAPIKey
- class UserSerializer(serializers.ModelSerializer):
- class Meta:
- model = get_user_model()
- fields = ['id', 'username', 'email']
- class GroupUsersAPIView(APIView):
- permission_classes = [IsAuthenticated | HasAPIKey]
- def get(self, request, group_name):
- try:
- group = Group.objects.get(name=group_name)
- except Group.DoesNotExist:
- raise NotFound(f"Group '{group_name}' not found.")
-
- users = group.user_set.all()
- serializer = UserSerializer(users, many=True)
- return Response(serializer.data)
|