【问题标题】:django, multiple databases, configuration issue: "Error importing database router"django,多个数据库,配置问题:“导入数据库路由器时出错”
【发布时间】:2010-06-30 15:44:39
【问题描述】:

我已经关注these instructions 为 Django 设置了多个数据库。它在我的本地开发环境(win7)中按预期工作,但是,当我将项目上传到我的实时服务器(webfaction)时,我得到

配置不当: 导入数据库路由器 MyCustomRouter 时出错:“没有名为 path.to.my.router 的模块”

从 Django shell,我可以导入 MyCustomRouter:

>>> from path.to.my.router import MyCustomRouter
>>>

我正在本地和实时服务器上运行 django 1.2.1 和 python2.6...

非常感谢任何可能导致此行为或如何调试的提示!

干杯,

马丁

【问题讨论】:

    标签: database django configuration webfaction


    【解决方案1】:

    我遇到了同样的问题。我在models.py 中定义了一个路由器。将类定义移动到它自己的文件中(我命名为我的 router.py),并相应地更新 settings.py,解决了错误。

    【讨论】:

      【解决方案2】:

      path.to.myrouter 只是一个占位符。

      【讨论】:

        【解决方案3】:

        只需将以下内容添加到您的 setting.py 文件中

        DATABASE_ROUTERS = ['myapp.routers.MyApp2Router',]
        

        重命名你的路由器文件 routers.py

        【讨论】:

          【解决方案4】:

          例子:

          我的项目包含多个应用程序,例如“工资单”、“税收”、“帮助台”等。
          我在这里使用 2 db - default 和 prod_db

          这就是我设置路由器路径的方式
          1. 在工资单应用程序中,我创建了“drouter.py”文件
          2. 在 dbrouter.py 中,我定义了 DbRouter 类(请参阅此路由器代码 - https://docs.djangoproject.com/en/2.1/topics/db/multi-db/
          3. 在 settings.py 中,设置路径
              DATABASE_ROUTERS = ['payroll.dbrouter.DbRouter',]

          【讨论】:

            猜你喜欢
            • 2017-10-16
            • 2013-08-04
            • 2017-06-16
            • 2011-12-24
            • 2012-03-28
            • 2018-07-03
            • 1970-01-01
            • 1970-01-01
            • 2011-06-02
            相关资源
            最近更新 更多