2012-11-08 107 views
1

我需要將我的應用程序連接到多個數據庫,但我沒有任何成功。多個數據庫Django

在settings.py中定義了我的數據庫之後,我該怎麼做? 我不知道我是否做了正確的事情,但我創建了一個routers.py並添加以下代碼:

class DBRouter(object): 
    """A router to control all database operations on models in 
    the contrib.auth application""" 

    def db_for_read(self, model, **hints): 
     if hasattr(model,'teste'): 
      return model.connection_name 
     return None 

    def db_for_write(self, model, **hints): 
     if hasattr(model,'teste'): 
      return model.connection_name 
     return None 

    def allow_syncdb(self, db, model): 
     if hasattr(model,'teste'): 
      return model.connection_name == db 
     return db == 'default' 

我必須做一個執行syncdb?我現在必須做什麼?

回答

0

您是否配置了DATABASE_ROUTERS設置?

請確保您還仔細閱讀這裏的文檔:https://docs.djangoproject.com/en/dev/topics/db/multi-db/,尤其是介紹從多個數據庫的使用未來潛在的缺點/限制的部分(例如,你會能夠做到跨數據庫連接)

+0

我做過了,當我要將數據保存在其他數據庫中時,出現以下錯誤: Field''沒有默認值 – Glund

+0

hm ..這看起來不像多分貝相關問題;它似乎更多的東西與你的模型相關..你可以發佈你的模型代碼? – redShadow