シリアライザを作成しても、パスワードとc_passwordフィールドを返しています。それをどのようにして応答に取り除くことができますか?作成後にDjango restパスワードを削除する
class UserCreateSerializer(ModelSerializer):
phone = CharField(label='Phone number')
password = CharField(label='password')
c_password = CharField(label='confirm passowrd')
class Meta:
model = User
fields = [
'phone',
'username',
'password',
'c_password'
]
extra_kwargs = {"password": {"write_only": True},
"c_password": {"write_only": True}}
def create(self, validated_data):
phone = validated_data['phone']
username = validated_data['username']
password = validated_data['c_password']
user_obj = User(phone=phone, username=username)
user_obj.set_password(password)
user_obj.save()
return validated_data
class UserCreateAPIView(CreateAPIView):
permission_classes = [AllowAny]
serializer_class = UserCreateSerializer
queryset = User.objects.all()
また、perform_createメソッドを追加しようとしましたが、カスタムのResponseオブジェクトが返されました。シリアライザオブジェクトをパスワードで戻しています。
あなたのビューはどのようなものですか? – e4c5
ビューで編集 –