gpt4 book ai didi

python - Django:TypeError: 'is_active' 是此函数的无效关键字参数

转载 作者:行者123 更新时间:2023-11-28 20:46:58 24 4
gpt4 key购买 nike

当我尝试通过 createsuperuser 管理命令创建用户时,我不断收到此错误:

TypeError: 'is_active' 是此函数的无效关键字参数

我尝试添加 is_active 字段,但没有成功。还尝试弄乱 REQUIRED_FIELDS 因为 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 中省略了 is_active = True。新错误是:*TypeError: 'is_superuser' 是此函数的无效关键字参数*

最佳答案

我遇到了完全相同的错误,遵循 Mike Hibbert 关于定义自定义用户的优秀高级教程:http://www.mikesdjangotutorials.co.uk/我能够通过将这些字段添加到我的 CustomUser 来让它工作:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com