У меня проблема с сериализованными данными, которые Django REST Framework выводит, потому что поля пароля не хэшированы (особенно те, которые созданы непосредственно из DRF). Пользователь, которого я создал с помощью команды createuperuser, имеет сериализованный хэшированный пароль (pbkdf2), что хорошо, но те, которые я создаю с помощью DRF, - нет. Сериализатор, который я использую, выглядит следующим образом (serializers.py):
from users.models import User
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(style={'input_type': 'password'})
class Meta:
model = User
fields = '__all__'
Класс модели выглядит следующим образом (models.py):
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(AbstractUser):
class Role:
ADMINISTRATOR = 'Administrator'
PHARMACIST = 'Pharmacist'
PATIENT = 'Patient'
choices = {
(ADMINISTRATOR, 'Administrator'),
(PHARMACIST, 'Pharmacist'),
(PATIENT, 'Patient'),
}
role = models.CharField(max_length=100, choices=Role.choices, default=Role.ADMINISTRATOR)
first_name = models.CharField(max_length=100, blank=False)
last_name = models.CharField(max_length=100, blank=False)
email = models.EmailField(max_length=100, unique=True)
birth_date = models.DateField(auto_now_add=False, blank=True, null=True)
address = models.CharField(max_length=255)
И набор запросов выглядит следующим образом (views.py):
from django.shortcuts import render
from users.models import User
from rest_framework import viewsets
from users.serializers import UserSerializer
# Create your views here.
class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
queryset = User.objects.all()
Я с нетерпением жду вашей помощи.