diff -r 672e3c4bbd0c -r 9864fe2067cd src/notes/api/views/auth.py --- a/src/notes/api/views/auth.py Mon Jul 17 14:13:32 2017 +0200 +++ b/src/notes/api/views/auth.py Tue Jul 18 17:08:27 2017 +0200 @@ -3,13 +3,25 @@ from django.contrib.auth.models import Group from rest_framework import viewsets -from ..serializers.auth import (GroupSerializer) +from ..serializers.auth import (GroupSerializer, WriteGroupSerializer, DetailGroupSerializer) +from ..permissions.auth import (GroupPermission, ) logger = logging.getLogger(__name__) class GroupViewSet(viewsets.ModelViewSet): serializer_class = GroupSerializer - permission_classes = () + permission_classes = (GroupPermission, ) + lookup_field = 'name' + def get_queryset(self): return Group.objects.all() + + serializers = { + 'create': WriteGroupSerializer, + 'update': WriteGroupSerializer, + 'retrieve': DetailGroupSerializer, + } + + def get_serializer_class(self): + return self.serializers.get(self.action, GroupSerializer)