У меня есть настройки ниже,
view.py
class UserViewSet(viewsets.ModelViewSet):
queryset = apis_models.User.objects.all().order_by('-date_joined')
serializer_class = apis_serializers.UserSerializer
permission_classes = [HasPermPage]
http_method_names = ['get', 'patch']
Serializer.py
class UserSerializer(CustomSerializer):
group = GroupSerializer(read_only=True)
class Meta:
model = apis_models.User
fields = '__all__'
models.py
class User(DFModel, AbstractBaseUser):
GENDER_CHOICES = [
('m', 'Male'),
('f', 'Female'),
('n', 'Not sure'),
]
email = models.EmailField(max_length=255, unique=True)
name = models.CharField(max_length=255, null=True)
company = models.CharField(max_length=255, null=True)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, null=True)
date_of_birthday = models.DateField(null=True)
job_title = models.CharField(max_length=255, null=True)
description = models.TextField(null=True)
credit_card = models.CharField(max_length=255, null=True)
is_active = models.BooleanField(default=True)
date_joined = models.DateTimeField(auto_now_add=True)
group = models.ForeignKey('Group', on_delete=models.PROTECT, null=True)
Использование REST API Я выполняю запрос PATCH для модели User и пытаюсь обновить пароль. Пароль хранится в виде простого текста. Я обнаружил, что метод set_password хранит его в зашифрованном виде. Может кто-нибудь, пожалуйста, помогите мне реализовать это. Я не уверен, где включить этот метод. В viewset или сериализаторе? И как? Любая помощь будет оценена.