【问题标题】:Configure Django Database Routers配置 Django 数据库路由器
【发布时间】:2017-10-16 00:14:38
【问题描述】:

我正在尝试将新的 Django 站点连接到旧版数据库。从我能收集到的所有东西中,我需要创建一个数据库路由器。文档指的是在模型的元部分创建 app_label。这是路由器将匹配的内容。我还看到人们说不再支持此功能的地方。我在这里绞尽脑汁,请帮忙!!代码如下:

class CucRouter(object):
    def db_for_read(self, model):
        if model._meta.app_label == 'CUCMCDR':
            return 'CUCMCDR'
        return 'default'

这是路由器功能,本质上是文档中的示例。在模型中我添加了这一行:

 app_label = 'CUCMCDR'

这会破坏服务器,并返回错误提示

“没有名为 CUCMCDR 的应用”

(不应该有。CUCMCDR 是数据库的名称)

编辑** 我在管理面板中完成这一切。我正在尝试只创建一个应用程序。也许再创建一个会更容易?

【问题讨论】:

  • 您的db_for_read() 必须在CucRouter 类中
  • 我以为是。你这是什么意思

标签: django python-2.7 django-models django-database


【解决方案1】:

所以我明白了。如果其他人在使用多个数据库时遇到此问题,则这是一个订购问题。您需要将第二个返回值从“默认”更改为“无”

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    相关资源
    最近更新 更多