ImproperlyConfigured at /admin/login/ Невозможно войти в админку django после создания суперпользователя с пользовательской моделью пользователя

Я пытаюсь войти в админ панель django с суперпользователем, которого я успешно создал, но каждый раз он выдает мне ImproperlyConfigured в /admin/login/, говоря, что settings. DATABASES is improperly configured, но я проверил все и ничего не кажется неправильным, дело в том, что я также использую несколько баз данных с postgresql, поэтому созданный суперпользователь является моим приложением user_account, только вот код : models.py моего приложения user_account:

from django.db import models
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
from django.core.validators import validate_email
from django.utils.translation import gettext_lazy as _
from django.core.exceptions import ValidationError

# Create your models here.
class UserAccountManager(BaseUserManager):
    def email_validator(self,email):
        try:
            validate_email(email)
        except ValidationError:
            raise ValueError(_("please enter a valid email address"))
        
    def create_user(self, email, name, phone_number, password=None):
        if email:
            email=self.normalize_email(email)
            self.email_validator(email)
        else:
            raise ValueError(_("an email address is required"))
        if not name:
            raise ValueError(_("first name is required"))
        if not phone_number:
            raise ValueError(_("phone number is required"))
        
        user = self.model(email=email, name=name, phone_number=phone_number)

        user.set_password(password)
        user.save(using=self._db)
        return user
    
    def create_member(self, email, name, phone_number, password=None):
        user = self.create_user(email, name, phone_number,password) 
        user.is_member = True 
        user.is_staff = True
        user.is_superuser = False

        user.save(using=self._db)
        return user
    
    def create_superuser(self, email, name, phone_number, password=None):
        user = self.create_user(email, name, phone_number, password) 
        user.is_member = True 
        user.is_staff = True
        user.is_superuser = True 

        user.save(using=self._db)
        return user

class UserAccount(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(max_length=255, unique=True) 
    name = models.CharField(max_length=255)
    phone_number = models.CharField(max_length=12, unique = True)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_member = models.BooleanField(default=False)

    objects = UserAccountManager() 

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS=['name', 'phone_number']

    def __str__(self):
        return self.email

и вот мой файл router.py

class AuthRouter:
    route_app_labels = {"user_account", "admin", "contenttypes", "sessions", "auth",}  

    
    def db_for_read(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'users'
        return None
    
    
    def db_for_write(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'users'
        return None
    
    def allow_relation(self, obj1, obj2, **hints):
        if(
            obj1._meta.app_label in self.route_app_labels or 
            obj2._meta.app_label in self.route_app_labels
        ):
            return True
        return None 
    
    
    def allow_migrate(self, db, app_label, model_name=None, **hints):
        if app_label in self.route_app_labels:
            return db == 'users'
        return None

из моего файла settings.py

и файл urls.py

"""
URL configuration for CarRentalProject project.

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView, TokenVerifyView

urlpatterns = [
    path('api/token/', TokenObtainPairView.as_view()),
    path('api/token/Refresh', TokenRefreshView.as_view()),
    path('api/token/Verify', TokenVerifyView.as_view()), 
    path('admin/', admin.site.urls),
]

вот какая ошибка у меня возникает

Exception Type: ImproperlyConfigured at /admin/login/
Exception Value: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

Я также проверил документацию, но, похоже, ничего не помогло. Пожалуйста, мне нужна ваша помощь, пожалуйста.

Убедитесь, что переменная route_app_labels, указанная в AuthRouter, включает ссылки на rest_framework и rest_framework_simplejwt из-за использования классов аутентификации rest_framework.

class AuthRouter:
    route_app_labels = {"user_account", "admin", "contenttypes", "sessions", "auth", "rest_framework", "rest_framework_simplejwt"}  


    def db_for_read(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'users'
        return None

    def db_for_write(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'users'
        return None

    def allow_relation(self, obj1, obj2, **hints):
        if(
            obj1._meta.app_label in self.route_app_labels or 
            obj2._meta.app_label in self.route_app_labels
        ):
            return True
        return None 

    def allow_migrate(self, db, app_label, model_name=None, **hints):
        if app_label in self.route_app_labels:
            return db == 'users'
        return None

Попробуйте этот.

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