A Profile to make Detailed changes in Django Rest-Framework API. I have created Serializered File and View file but Detail is not saved

Actually, I am working on a project and I have to modify the authentication system so that I am able to log in using username and password. I have Login Successfully and I have Change Detail but Don't Change Detail. Please Solve This Code and give me a Code.

My serializrs.py

class ProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = CustomUser
        fields = ("first_name", )

    def create(self, validated_data):
        user_id = Token.objects.get(key=validated_data.auth.key).user_id
        user = User.objects.get(id=user_id)
        first_name = validated_data.get('first_name')
        user.first_name = first_name
        user.save()
        return user

My views.py

class ProfileAPIView(APIView):
    serializer_class = ProfileSerializer
    permission_classes = [permissions.AllowAny]
    authentication_classes = [TokenAuthentication]

    def post(self, request):
        serializer = ProfileSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            return Response({"msg":"Profile Update"}, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_401_UNAUTHORIZED)

Solve this Serialize File And View File and Give me a Code.

class ProfileAPIView(APIView):
    serializer_class = ProfileSerializer
    permission_classes = [permissions.AllowAny]
    authentication_classes = [TokenAuthentication]

    def post(self, request):
        serializer = ProfileSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            user_id = Token.objects.get(key=request.auth.key).user_id
            user = User.objects.get(id=user_id)
            first_name=serializer.data.get('first_name')
            user.first_name=first_name
            user.save()
            return Response({"msg":"Profile Update"}, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_401_UNAUTHORIZED)
0

class updateAPIView(APIView):
    serializer_class = updateSerializer
    permission_classes = [permissions.AllowAny]
    authentication_classes = [TokenAuthentication]

    def post(self, request):
        serializer = updateSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            user_id = Token.objects.get(key=request.auth.key).user_id
            user = User.objects.get(id=user_id)
            first_name=serializer.data.get('first_name')
            user.first_name=first_name
            user.save()
            return Response({"msg":"Profile Update"}, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_401_UNAUTHORIZED)
Back to Top