Джано: НЕПРАВИЛЬНО КОНФИГУРИРОВАННЫЕ БАЗЫ ДАННЫХ, Пожалуйста, предоставьте значение двигателя. (Несколько баз данных)

Привет ребята, я пытаюсь иметь 2 базы данных postgres в моем проекте django, одна для хранения данных пользователя, а другая для хранения другого содержимого, но я получаю эту ошибку, когда я пытаюсь запустить createsuperuser.

    raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

Это settings.py

DATABASES = {
'default': {},

'users_db': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'users_db',
    'USER': 'postgres',
    'PASSWORD': 'Trial_user123',
    'HOST':'127.0.0.1',
    'PORT':'5432',
},

'content_db': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'content_II',
    'USER': 'postgres',
    'PASSWORD': 'Trial_user123',
    'HOST':'127.0.0.1',
    'PORT':'5432',
},
}

DATABASE_ROUTERS = ['personal.routers.db_routers.AuthRouter', 'personal.routers.db_routers.PersonalDBRouter', ]

Это маршрутизатор

class AuthRouter:
route_app_labels = {'sessions', 'auth', 'contenttypes', 'admin', 'accounts'}

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

def db_for_read(self, model, **hints):
    if model._meta.app_label in self.route_app_labels:
        return 'users_db'
    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 'users_db'
    return None


class PersonalDBRouter:
    route_app_labels = {'actions', 'blog', 'token_blacklist', 'taggit', 'django_celery_beat', 'django_celery_results',}

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

    def db_for_read(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'content_db'
        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 'content_db'
        return None

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

Спасибо

Установите свой DataBase как :-

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'users_db',
        'USER': 'postgres',
        'PASSWORD': 'Trial_user123',
        'HOST': 'localhost',
        'PORT': '5432',
    }

    'content_db': {
        'NAME': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'content_II',
        'USER': 'postgres',
        'PASSWORD': 'Trial_user123',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Вы должны перенести обе базы данных по-разному, например :-

$ ./manage.py migrate --database=users_db
$ ./manage.py migrate --database=content_II

Создайте superuser в другой базе данных, например:

./manage.py createsuperuser --database=users_db

Попробуйте удалить using в сохранении:

def create_user(...):
    ...
    user.save()


def create_superuser(...):
    ...
    user.save()

EDIT:

Только что заметил, что у ваших маршрутизаторов нет db_for_write (вы написали db_for_read дважды):

    def db_for_write(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'users_db'
        return None
Вернуться на верх