是此函数的无效关键字参数

是此函数的无效关键字参数

在尝试通过createsuperuser管理命令创建用户时,我一直收到此错误:
TypeError:“is_active”是此函数的无效关键字参数
我试过添加is_active字段,但没有成功。因为django文档说它们必须与create_superuser字段匹配,所以还尝试了处理必需的_字段。仍然没有运气。
非常感谢您的指导。谢谢!以下是我正在使用的自定义用户模型:

class CustomUserManager(BaseUserManager):
def _create_user(self, email, password, is_staff, is_superuser, **extra_fields):
    """
    Creates and saves a User with the given email and password.
    """
    now = timezone.now()

    if not email:
        raise ValueError('The given email must be set')

    email = self.normalize_email(email)
    user = self.model(email=email,
                      is_staff=is_staff, is_active=True,
                      is_superuser=is_superuser, last_login=now,
                      date_joined=now, **extra_fields)
    user.set_password(password)
    user.save(using=self._db)
    return user

def create_user(self, email, password=None, **extra_fields):
    return self._create_user(email, password, False, False, **extra_fields)

def create_superuser(self, email, password, **extra_fields):
    return self._create_user(email, password, True, True, **extra_fields)

class Company(models.Model):
    company_name = models.CharField(max_length=200)

class CustomUser(AbstractBaseUser):
    your_name   = models.CharField(max_length=254, blank=True)
    company     = models.ForeignKey(Company)
    email       = models.EmailField(blank=True, unique=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['your_name',]

    objects = CustomUserManager()

从user=self.model更新省略的是'u active=True。新错误是:*TypeError:“is superuser”是此函数的无效关键字参数*

最佳答案

在Mike Hibbert关于定义自定义用户的优秀高级教程之后,我遇到了完全相同的错误:http://www.mikesdjangotutorials.co.uk/通过将这些字段添加到我的自定义用户中,我可以使它正常工作:

date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
is_active   = models.BooleanField(default=True)
is_admin    = models.BooleanField(default=False)
is_staff    = models.BooleanField(default=False)

…我本以为它们是从AbstractBaseUser继承来的,但可以肯定的是,它们在文档中解释得足够清楚:https://docs.djangoproject.com/en/dev/topics/auth/customizing/#custom-users-and-django-contrib-admin注意,如果您希望您的CustomUser也在Django管理员中工作(从注册开始,等等),这里还描述了一些额外的步骤

关于python - Django:TypeError:“is_active”是此函数的无效关键字参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20056077/

10-09 02:46