'Manager' 对象在 django 1.7 中没有属性 'create_user'

aqu*_*man 2 python django

嗨,我正在 django 1.7 中获取用户的用户名和密码,但出现错误 - “Manager”对象没有属性“create_user”

我的意见.py

def register(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid(): 
            post = request.POST
            username = post['username']
            email = post['email']
            password = post['password']
            user = User.objects.create_user(username, email, password)
            return redirect('/student/lastpage')
    else:
        form = UserForm()
    return render(request, 'student/register.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)

我的模型.py

class User(models.Model):
    username = models.CharField(max_length=20)
    password = models.CharField(max_length=30)
    email = models.CharField(max_length=50)

def __str__(self):
    return self.username

class UserForm(ModelForm):
    class Meta:
        model = User
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

提前致谢

cat*_*ran 5

默认ModelManager没有该create_user方法。为您的User班级设置合适的经理。您还需要从AbstractBaseUser类继承而不是models.Model

from django.contrib.auth.models import AbstractBaseUser, UserManager

class User(AbstractBaseUser):
    ...
    objects =  UserManager()
Run Code Online (Sandbox Code Playgroud)