0

I am trying to implement update in DRF viewset manually, i have successfully implemented list and retrieve This is what i have so far

class UserViewset(viewsets.Viewset):

authentication_classes = (TokenAuthentication,)
permission_classes = (permissions.UpdateOwnProfile,)
serializer_class = UserSerializer
def list(self, request):
    queryset = User.objects.all()
    serializer = self.serializer_class(queryset, many = True)
    
    return Response(serializer.data)

def create(self, request):
    serializer = self.serializer_class(data=request.data)
    if serializer.is_valid():
        serializer.save(
            created_by=request.user,
            modified_by=request.user
        )
        return Response(serializer.data, status=201)
    return Response(serializer.errors, status=400)

def retrieve(self, request, pk=None):
    queryset = User.objects.all()
    user = get_object_or_404(queryset, pk=pk)
    serializer = self.serializer_class(user)
    return Response(serializer.data)

1 Answers1

0

To include update method in your viewset (if it is not built-in already):

def put(self, request, *args, **kwargs):
    return self.update(request, *args, **kwargs)
yernazarov
  • 69
  • 2
  • 13