0

因此,我试图建立一个 Django 站点,该站点将查询我的数据库并返回报告。我有 5 个需要导入的遗留数据库。我将一个设置为默认值并运行了inspectdb。这一个正确导入,现在一切就绪。我对下一个运行了inspectdb,得到了模型,但是当我点击管理面板中的链接时,我得到了一个错误。我的默认数据库名称是 app2,我使用的第二个数据库是 cucm。有错误说 app2.cucm 没有 db - 为什么 django 试图去 app2.cucm 而不是像它应该的那样去 cucm???? 设置.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 中的表。我还没有创建任何数据库路由。我希望默认值会起作用

4

1 回答 1

0

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

Person.objects.using(dbname)
于 2017-05-16T15:13:06.377 回答