Django:无法导入多个旧数据库

时间:2017-05-16 13:39:04

标签: python django django-models legacy-database inspectdb

所以我试图站起来查询我的数据库并返回报告的Django站点。我有5个需要导入的旧版DB。我将其设置为默认值并运行inspectdb。这个导入正确,现在已全部设置。我对下一个运行了inspectdb,得到了模型但是当我点击管理面板中的链接时出现错误。我的默认数据库名称是app2,第二个使用的数据库是cucm。有错误说在app2.cucm没有数据库 - 为什么django试图去app2.cucm而不是像它应该去的cucm ????? settings.py文件

DATABASES = {
      'cucm': {
          'NAME': 'CUCM'
          'ENGINE': 'django.db.backends.mysql',
          'USER': 'user'
          'PASSWORD': 'PASSWORD'
          'HOST': 'IPADDRESS'
          'PORT': '111111'
        },

'default': {
    'NAME': 'app2',
    'ENGINE': 'django.db.backends.mysql',
    'USER': 'user',
    'PASSWORD': 'PASSWORD',
    'HOST': 'IPADDRESS',
    'PORT': '1111',
  },
}  

完整错误如下:

  

路径名' /root/IPNV/django-test/src/reports/models.py'这个的   观看0x7fbe145cef50> dir = False>可能已经改变了   无法更新,因此不再可信任。解决这个问题   错误仅在监视的父目录之间移动目录/文件,   在这种情况下例如把手表放在' / root / IPNV / django-test / src / reports'

我知道上面的语法并不完美,我很快就重新输入了它。值得注意的是,所有数据库都在同一主机上。因此除了名称

之外,每个数据库的所有字段都是相同的

这是Django管理面板的错误:     例外值:

(1146,"表' app2.CDR'不存在")

我认为问题出在路由上。 ' CDR'是cucm db中的表而不是app2。我还没有创建任何数据库路由。我希望默认设置能够正常工作

1 个答案:

答案 0 :(得分:0)

也许这与你如何调用数据库有关。如果您有多个dbs,则必须明确说明您使用的是哪一个。例如,如果模型是人,您可能会说:

Person.objects.using(dbname)