Сохранение обновленного пароля пользователя django

У меня есть user update api, который должен обновлять данные пользователя. Я использовал set_password() для шифрования пароля, и, судя по моим операциям печати, он шифруется нормально. Однако когда я сохраняю обновленного пользователя, пароль по-прежнему сохраняется в виде обычного текста. Что я здесь упускаю? print(user.password) дает мне

pbkdf2_sha256$216000$26YKhuRQ4i4S$HnfbowEjappYtP7nbbMZJXcjLi13sWPpj1EqjEbUutI=

Однако когда я возвращаю пользователя, он сохраняет пароль в виде обычного текста.

class UserDetail(APIView):

def get_user(self, pk):
    try:
        return User.objects.get(pk=pk)
    except User.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

def put(self, request, pk, format=None):
    user = self.get_user(pk)
    data = request.data
    new_password = data["password"]
    user.set_password(new_password)
    user.save()
    print(user.password)

    serializers = UserSerializer(user, request.data)
    if serializers.is_valid():

        serializers.save()
        return Response(serializers.data)
    else:
        return Response(serializers.errors, status=status.HTTP_400_BAD_REQUEST)
Вернуться на верх