2008-10-03 25 views

回答

2

目前沒有 - 每個項目使用一個數據庫,並且每個應用程序必須存在於其中。如果你想擁有一個特定於應用程序的數據庫,那麼你不能通過Django ORM來實現。請參閱Multiple Database Support上的Django wiki頁面。

5

是的 - 低級的API已經到位,它現在只是缺少一個方便的高級API。這些報價來自James Bennett (Django's release manager) on programming reddit

它已經存在 - 在一個非常低級別的API對於那些誰看的代碼庫 - 現在個月(每QuerySetQuery,這反過來又接受支持數據庫連接作爲參數)。沒有任何高層次的記錄API,但我知道那些已經在做並且一直在做諸如多DB /分片場景的人。

...這不一定是需要大寫的東西; __init__()方法QuerySet接受關鍵字參數query,該參數應該是django.db.models.sql.Query的實例。反過來,Query__init__()方法接受關鍵字參數connection,該關鍵字參數應該是(針對您的數據庫的後端特定子類)django.db.backends.BaseDatabaseWrapper的實例。

從那裏,它很容易;例如,您可以在管理器上覆蓋get_query_set(),以始終使用所需的連接返回QuerySet,或者設置分片邏輯等功能,根據傳入查詢參數等確定使用哪個DB。

相關問題