用户模型未保存create_user实例

时间:2018-06-10 14:13:52

标签: python django-models django-views

我已经制作了一份包含个人信息和登录信息字段的表格

models.py

 class EmployeeModel(models.Model)
        employee_id = models.CharField(max_length=300,unique=True,help_text='Employee ID should not be same')
        name = models.CharField(max_length=300)
        username = models.CharField(max_length=50,null=True,blank=True)
        email = models.EmailField(null=True,blank=True)
        password = models.CharField(max_length=20,null=True,blank=True)
        password_confirm = models.CharField(max_length=20,null=True,blank=True)

forms.py

class EmployeeForm(forms.ModelForm):
    class Meta:
        model = employeeModel
        fields = ('__all__')

views.py

User = get_user_model()
def create_view(request):
    if request.method == 'POST':
        form = employeeForm(request.POST or None,request.FILES or None)
        if form.is_valid():
            username = form.cleaned_data['username']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            User= get_user_model()
            user= User.objects.create_user(username=username,email=email,password=password)
            authenticate(request,username=username,email=email,password=password)

            form.save()
            return redirect('emp_list')
    else:
        form = employeeForm()
    return render(request,'create_employee.html',{'form':form})

它没有显示任何错误,但User.objects.all()仅显示超级用户,而不是我通过此表单创建的用户。我在这个表单中创建的用户出现在Employee.objects.get(用户名=' foo')

那该怎么办?我无法登录那些非超级用户。它会抛出无效的登录错误。如何解决这个问题?

0 个答案:

没有答案
相关问题