Я использую Django REST Framework (DRF) для создания конечной точки, с помощью которой я могу зарегистрировать новых пользователей. Однако, когда я удаляю конечную точку создания POST, новый пользователь сохраняется через сериализатор, но пароль сохраняется в открытом виде в базе данных. Код для моего сериализатора выглядит следующим образом:
from django.contrib.auth import get_user_model
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = get_user_model()
fields = ['password', 'username', 'first_name', 'last_name', 'email']
read_only_fields = ['is_staff', 'is_superuser']
write_only_fields = ['password']
Обратите внимание, что я использую модель User по умолчанию из пакета Django auth и что я очень новичок в работе с DRF! Кроме того, я нашел этот вопрос, который предоставляет решение, но для этого требуется два взаимодействия с базой данных: я не считаю, что это эффективно, но это может быть неверное предположение с моей стороны.