Форма входа администратора не позволяет суперпользователю войти в систему

Когда я пытаюсь войти в панель администратора Django, я получаю ошибку: "Эта учетная запись была отключена". Однако статус пользователя активен. Я попытался зарегистрировать нового пользователя через консоль, но ошибка осталась.

Вы можете войти в административную панель только войдя на сам сайт через форму авторизации. Я использую пользовательскую модель пользователя.

Вот мой код: settings.py:

AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'users.backends.AuthBackend',

)

users.backends

class AuthBackend(ModelBackend):
    def authenticate(self, request, username=None, password=None, **kwargs):
        if username is None:
            username = kwargs.get(UserModel.USERNAME_FIELD)
        if username is None or password is None:
            return
        try:
            user = UserModel._default_manager.get_by_natural_key(username)
        except UserModel.DoesNotExist:
            # Run the default password hasher once to reduce the timing
            # difference between an existing and a nonexistent user (#20760).
            UserModel().set_password(password)
        else:
            if user.check_password(password):
                return user

    def get_user(self, user_id):
        try:
            user = UserModel._default_manager.get(pk=user_id)
        except UserModel.DoesNotExist:
            return None
        return user

users.models

class CustomAccountManager(BaseUserManager):
def create_user(self, email, full_name, password, **other_fields):
    if not email:
        raise ValueError('Enter email')
    email = self.normalize_email(email)

    if not full_name:
        full_name = email.split('@')[0]

    user = self.model(
        email=email,
        full_name=full_name,
        **other_fields
    )
    user.set_password(password)
    # other_fields.setdefault('is_active', True)

    user.save()
    return user

def create_superuser(self, email, full_name, password, **other_fields):
    other_fields.setdefault('is_staff', True)
    other_fields.setdefault('is_superuser', True)
    # other_fields.setdefault('is_author', True)
    other_fields.setdefault('is_active', True)

    if other_fields.get('is_staff') is not True:
        raise ValueError('Sorry but is_staff = False')
    if other_fields.get('is_superuser') is not True:
        raise ValueError('Sorry but is_superuser = False')
    if other_fields.get('is_active') is not True:
        raise ValueError('Sorry but is_active = False')

    return self.create_user(email, full_name, password, **other_fields)

Сама пользовательская модель:

class NewUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(
    verbose_name='Email Address', unique=True)
full_name = models.CharField(
    max_length=250, verbose_name='full name', blank=True)
photo = models.ImageField(
    upload_to='AuthorUser_photo/%Y/%m/%d/', verbose_name='Author's photo')
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=False)
is_author = models.BooleanField(default=False, verbose_name='Content Author?')

date_joined = models.DateTimeField(default=timezone.now)

USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['full_name']

objects = CustomAccountManager()

def __str__(self):
    return self.full_name


def get_absolute_url(self):
    return reverse('author_news_list', args=[str(self.pk)])

Профиль пользователя:

class ProfileAuthor(models.Model):

author = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
bio = RichTextField(verbose_name='About the Author')
achivment = models.CharField(max_length=350, verbose_name='Achievements', blank=True)
category = TreeForeignKey('news.Category', on_delete=models.CASCADE, verbose_name='Category', default=1)


def __str__(self):
    return self.author.full_name

Я новичок в Django, поэтому могу не удивляться очевидным вещам. Заранее прошу прощения

Я пытался сбросить настройки бэкенда на значения по умолчанию, но это не помогло.

Вернуться на верх