我试图在Django中设置一个路由器,但是它不工作它似乎一起被忽略了,我在设置上添加了DATABASE_ROUTERS并创建了db路由器:
settings.py
DATABASE_ROUTERS = ['misc.routers.MasterSlaveRouter',]
routers.py
class MasterSlaveRouter(object):
def db_for_read(self, model, **hints):
print "Router"
return 'dbname'
def db_for_write(self, model, **hints):
return None
def allow_relation(self, obj1, obj2, **hints):
return None
def allow_migrate(self, db, model):
return None
但似乎根本没有使用
概要
misc/
- __init__.py
- settings.py
- routers.py
- urls.py
otherapp/
- __init__.py
- views.py
....
misc是主项目名称
答案 0 :(得分:0)
我有类似的东西,并通过在else中返回一个if语句来回答它:
def db_for_read(self, model, **hints) :
if model._meta.app_label == 'your_app_name' :
return 'dbname'
else :
return None
不知道为什么需要这个,但它解决了我的问题。值得一试。