继承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']