我在數據庫結構中有很多一對多的關係。例如,你有一個用戶,用戶有很多學位,他有很多電子郵件,他有很多合同等。Django:一對多查詢
我在Django的查詢集中發現了這個「select-related()」特性,它看起來很棒。然而,它不會「倒退」,它只適用於你開始使用的表的所有其他表的外鍵,但如果它是一對多,你不會將所有的外鍵存儲在用戶表。
所以我的問題是,是否有某種方式,我可以,
- 打一次數據庫
- 依然能夠使用Django的不錯的面向對象的模型,非常類似,user.degree [ 0] .school_name - 這會很棒。
任何幫助將不勝感激!!
編輯1:嗯其實我只是意識到,從技術上說,用戶表不包含任何字段名稱度。您知道學位與用戶關聯的唯一方法是通過學位表並查找用戶外鍵。所以在某種程度上,這就像一個數據庫視圖的排序...
編輯2:我想你可以在數據庫中創建一個視圖,有很多JOIN,並在Django中創建一個模型來鏡像該視圖?只是要弄清楚所有不同的數據庫如何處理視圖上的INSERT/UPDATE/DELETE ...不知道是否有列表,我現在使用postgresql。
重寫默認數據庫函數的重要建議。我想我寧願使用像數據庫視圖這樣的標準,而不是使用附加組件。 – reedvoid