На моем рабочем месте я планирую использовать Python/Django в качестве серверной среды и React на переднем плане поверх oracle db из классического ASP. Поскольку наша база данных oracle была структурирована с самого начала существования компании, мы решили оставить ее как есть.
Насколько я понимаю, схемы в оракуле обычно доступны по имени пользователя/паролю, поэтому необходимо иметь пользователя/пароль для каждой схемы, чтобы иметь доступ, и наша база данных оракула имеет около 30 схем, содержащих множество таблиц внутри для каждой.
Django, с другой стороны, кажется, что он поддерживает только одну схему за раз, основываясь на приложении, установленном в settings.py, что звучит так, как будто в конфигурации баз данных должны быть разные пользователи/пароли, установленные в settings.py для каждого приложения. установлены.
До сих пор я пробовал class Meta
и DATABASES
в settings.py
;
// class Meta
class SomeModel(models.Model):
///some fields and data types...
class Meta():
managed=False
db_table=u'"schema\".\"table"'
// DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'multi_schema_db',
'USER': 'django_user',
'PASSWORD': 'secret',
},
'data': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'multi_schema_db',
'USER': 'data_user',
'PASSWORD': 'secret',
},
}
Мои вопросы: есть ли обходной путь для доступа к нескольким схемам, где у django установлено только одно приложение?
P.S. Поправьте меня в любых недоразумениях, которые у меня есть выше.