'How to update another field when using partial_update?

I'm using partial_updates on my user model, and I wish to change the is_active to True on the user model instance when a partial_update happens - even though is_active is not exposed to the endpoint. My class looks like this:


class UserInvitationUpdate(mixins.UpdateModelMixin, generics.GenericAPIView):
    serializer_class = serializers.UserSerializer
    queryset = User.objects.all()

    def get(request, *args, **kwargs):
        username = kwargs.get('username')
        token = kwargs.get('token')
        return activated_user(username, token)

    def get_object(self):
        username = self.kwargs.get('username')
        user = User.objects.get(username=username)
        return user
    
    def put(self, request, *args, **kwargs):
        username = self.kwargs.get('username')
        token = self.kwargs.get('token')

        if my_if_statement_is_true:

            # TODO set user to active 
            # how do I set is_active = True for the user model instance?
            return self.partial_update(request, *args, **kwargs)




Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source