方法一 form.save()
save()方法可以直接保存所需要的数据,自动剔除数据库中不需要的数据 例如:数据库中有username、password、email、phone四个字段。而注册页面则需要输入username、password、re_password、email、phone、code这六个数据。save()则会在保存时剔除多余的数据。
if form.is_valid():
form.save()
方法二 models.User.objects.create(**form.cleaned_data)
如果直接用此方法保存数据的话是会报错的。原因是它会将注册页面中的所有数据都保存进数据库,但是数据库中却没有对应字段。因此使用此方法需要先剔除不需要的数据。
if form.is_valid():
data = form.cleaned_data # 拿到校验后的所有数据
data.pop('code') # 剔除不需要保存到数据库的数据
data.pop('re_password')
models.User.objects.create(**data)