在尝试通过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/