Django.core.exceptions.ImproperlyConfigured: settings.DATABASES неправильно настроен. Пожалуйста, предоставьте значение ENGINE. router.py given

настройка базы данных

Я знаю, что settings.DATABASES правильно настроен, так как я уже создавал модели, которые затем Django использовал для создания таблиц в БД, но по какой-то причине это теперь вызывает эту ошибку. Вы также можете увидеть, что я уже "предоставил значение ENGINE". и router.py Еще одна вещь, первый клиент базы данных я не получил никакой ошибки во время команды makemigration и успешно создал таблицу в базе данных

DATABASES ={
    'default': {},
    'users':{
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'customer',
        'USER': 'postgres',
        'PASSWORD': '123',
     },
     'listings':{
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'listing',
        'USER': 'postgres',
        'PASSWORD': '123',
     },
}
DATABASE_ROUTERS = ['customer.router.AuthRouter', 'list.router.ListingRouter']

router.py





class ListingRouter:
    route_app_labels = {'listing'}
    def db_for_read(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'listings'
        return None
    def db_for_write(self, model, **hints):
        if model._meta.app_label in self.route_app_labels:
            return 'listings'
        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 == 'listings'
        return None

Настройка базы данных и router.py прилагаются 1 2

Вам необходимо указать значение для вашей базы данных default также, так:

DATABASES = {
    'default': {
        'ENGINE': '…',
        'NAME': '…',
        'USER': '…',
        'PASSWORD': '…',
    },
    'users': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'customer',
        'USER': 'postgres',
        'PASSWORD': '123',
    },
    'listings': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'listing',
        'USER': 'postgres',
        'PASSWORD': '123',
    },
}

Если users является значением по умолчанию, вы, таким образом, указываете следующее:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'customer',
        'USER': 'postgres',
        'PASSWORD': '123',
    },
    'listings': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'listing',
        'USER': 'postgres',
        'PASSWORD': '123',
    },
}
Вернуться на верх