我的工作场所计划使用Python/Django作为后端框架,并在ASP classic的oracle数据库之上进行前端响应。因为我们的oracle数据库从公司一开始就有了结构,所以我们决定保持原样。在
据我所知,oracle中的模式通常是通过用户名/密码访问的,因此每个模式都需要有user/password才能访问,而我们的oracle数据库有大约30个ish模式,每个模式都包含许多表。在
另一方面,Django似乎一次只支持一个模式,基于安装在中的应用程序设置.py,这听起来好像数据库配置需要在中设置不同的用户/密码设置.py对于安装的每个应用程序。在
到目前为止,我已经在settings.py
中尝试了class Meta
和{
// 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只安装了一个应用程序的情况下,有没有办法访问多个模式?在
请纠正我上面的任何误解。在
You can have multiple schemas in Django
要使用特定模式,请使用.using()
^{pr2}$如果某些模型只存在于一个模式中,则可以使用routers来定义为每个模型使用哪个数据库
相关问题 更多 >
编程相关推荐