尝试通过Django Admin App添加用户,出现以下错误: settings.DATABASE is improperly configured
我的数据库定义为:
DATABASE_ROUTERS = ['*****.routers.RouterDB',]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.dummy'
},'helpdesk': {
'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR,'db.sqlite3'),}
}
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend','mongoengine.django.auth.MongoEngineBackend',)
然后在我的路由器中:因此,如果该应用程序与****不同,那么我将获得“帮助台”数据库,该数据库是具有Django用户的SQLite。 Mongo数据库为另一个不使用Django应用程序的应用程序存储了用户
from django.conf import settings
class RouterDB:
def db_for_read(self,model,**hints):
if model._meta.app_label == '****':
return 'default'
return 'helpdesk'
def db_for_write(self,**hints):
if model._meta.app_label == '****':
return 'default'
return 'helpdesk'
def allow_relation(self,obj1,obj2,**hints):
if obj1._meta.app_label == 'helpdesk' or \
obj2._meta.app_label == 'helpdesk':
return True
if obj1._meta.app_label == 'default' or \
obj2._meta.app_label == 'default':
return True
return False
def allow_migrate(self,db,app_label,model_name=None,**hints):
if app_label == 'helpdesk':
return db == 'helpdesk'
if app_label == '****':
return db == 'default'
return 'default'