腾讯云开发者社区 django配置多数据库路由问题。

django配置多数据库路由问题。

今天根据网上http://my.oschina.net/u/572994/blog/108533配置django多数据库,但是配置好有执行syncdb --datebase=one 居然发现错误:django.core.exceptions.ImproperlyConfigured: Module "<module 'dbrouter' from 'E:\django\three\dbrouter\__init__.py'>" does not define a database router name "DBRouter",

查看了下settings设置,发现少写了个域


  
  1. DATABASE_ROUTERS = ['dbrouter.DBRouter'

修改成

 


  
  1. DATABASE_ROUTERS = ['dbrouter.models.DBRouter'

执行sysncdb --database=onedb结果发现2个models都被create到onedb指定的库里了?为什么

 

 

因为我在写dbrouter的时候,忘记写了个方法;

 


  
  1. def allow_syncdb(self, db, model):  
  2.         return self.__app_router(model)==db  
这个方法是告诉程序: 该方法定义数据库是否能和名为db的数据库同步

OK,搞定。具体的我下篇文章讲解针对django配置需要注意的几点问题及代码讲解。

转载于:https://blog.51cto.com/python1313/1175890

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐

  • 浏览量 335
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献3条内容