DRF 使用serializer 对 新增 User 的密码加密

继承Django系统自带User表后,使用序列化器使新添加的用户密码保存到数据库时加密

class UserRegSerializer(serializers.ModelSerializer):
    username = serializers.CharField(label="账号", required=True, allow_blank=False,
                                     validators=[UniqueValidator(queryset=User.objects.all())])
    password = serializers.CharField(style={
    
    'input_type': 'password'}, label="密码", write_only=True)

    def create(self, validated_data):
        user = super(UserRegSerializer, self).create(validated_data=validated_data)
        user.set_password(validated_data["password"])
        user.save()
        return user

    class Meta:
        model = User
        fields = ['name', 'username', 'sex', 'tel', 'department', 'password']

猜你喜欢

转载自blog.csdn.net/weixin_44121790/article/details/105186008
今日推荐