TypeError:create_superuser()Django-Python

时间:2014-06-04 00:47:09

标签: python django

我有这个模型(这是我写的全部):

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

class MyUser(AbstractBaseUser):
    name     = models.CharField(max_length=50)
    lastn = models.CharField(max_length=50)
    username  = models.CharField(max_length=40, unique=True, db_index=True)
    email    = models.EmailField(max_length=255, unique=True, db_index=True)
    city   = models.CharField(max_length=50)
    phone = models.CharField(max_length=50)
    USERNAME_FIELD  = 'username'
    REQUIRED_FIELDS = ['email']
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)

    objects = UserManager()

当我尝试同步时(python manage.py syncdb) 我看到了这个错误:

您刚刚安装了Django的auth系统,这意味着您没有定义任何超级用户。 你想现在创建一个吗? (是/否):是的

Usuario:dulce

电子邮件:dulce@dulce.com

密码:

密码(再次):

TypeError:create_superuser()只需要4个参数(给定3个)

任何人都可以帮助我吗?

很抱歉,如果您无法理解(我来自墨西哥)

1 个答案:

答案 0 :(得分:0)

Debes definir una clase MyUserManager que herede de BaseUserManager y crear dos funciones dentro de esta clase create_user y create_superuser

Te dejo el enlace deladocumentación,de donde yo estoy creando mi propia clase de usuario personalizado,aunquododavíanoconsigo que funcione peroyasolucionéelerror que te esta dando a ti。

<强> Customizing authentication in Django

Estapáginatambiénmeayudó

<强> Using Configurable User Models in Django


好的 @pancakes 我尝试用英语,但我的英语非常糟糕。

您应该定义MyUserManager类继承BaseUserManager并创建create_usercreate_superuser函数。

这是我编写自己的自定义用户模型的链接

(上面的链接)