博客五部曲之三 - 博客RESTful
1457 浏览 5 years, 9 months
26 ModelSerializer Create Method
版权声明: 转载请注明出处 http://www.codingsoho.com/ModelSerializer Create Method
在上一节中,password并没有准确的保存到系统中去,这一节我们会解决这个问题。
我们修改create方法,最重要的一步是通过set_password函数来正确的设置密码。
Email放到password前面,它这个验证也是有顺序的。
当前实现里只设置了username,email和password,其他字段也可以用相同的方法添加。
class UserCreateSerializer(ModelSerializer):
class Meta:
model = User
fields = [
'username',
'email',
'password',
]
extra_kwargs = {"password":
{"write_only": True}
}
def create(self, validated_data):
username = validated_data['username']
email = validated_data['email']
password = validated_data['password']
user_obj = User(
username = username,
email = email
)
user_obj.set_password(password)
user_obj.save()
return validated_data