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',
},
}