Я создал пользовательскую модель в django под названием «Агент».Командная строка позволяет мне успешно создать суперпользователя, но страница администратора не дает мне доступа, даже если все учетные данные верны.
Мое приложение включено в INSTALLED_APPS, и мой AUTH_USER_MODEL = Audit.Agent у меня есть.зарегистрировал мою модель под admin.py, но все равно ничего.
Возможно, я забыл что-то маленькое, но все еще не могу его найти.Руководство в любом направлении будет иметь чрезвычайную ценность.
Заранее спасибо
класс AgentManager (BaseUserManager): def create_user (self, agent_email, agent_name, validation_date, company_name, password = None,** extra_fields): если не agent_email: повысить ValueError («Необходимо указать заданную электронную почту») email = self.normalize_email (agent_email) agent = self.model (agent_email = agent_email, agent_name = agent_name, company_name = company_name, validation_date = validation_date,** extra_fields) agent.save (using = self._db) return agent
def create_superuser(self, agent_email, agent_name, validation_date, company_name, password, **extra_fields):
extra_fields.setdefault('is_staff', True)
extra_fields.setdefault('is_superuser', True)
if extra_fields.get('is_staff') is not True:
raise ValueError('Superuser must have is_staff=True.')
if extra_fields.get('is_superuser') is not True:
raise ValueError('Superuser must have is_superuser=True.')
return self.create_user(agent_email,
agent_name,
validation_date,
company_name,
password=password,
**extra_fields)
Класс агента (AbstractBaseUser, PermissionsMixin): agent_email = models.EmailField (unique = True, verbose_name = 'Email агента')agent_name = models.CharField (max_length = 100, verbose_name = «Имя агента») validation_date = models.DateField (по умолчанию = timezone.now, verbose_name = «Дата проверки») company_name = models.CharField (max_length = 150, verbose_name = 'Companyname ') is_staff = models.BooleanField (по умолчанию = False) is_superuser = models.BooleanField (default = False)
USERNAME_FIELD = 'agent_email'
REQUIRED_FIELDS = ('agent_name', 'validation_date', 'company_name')