2011-04-13 42 views

回答

0

你可能不會發現任何比較,在Django的文獻UML圖 - UML建模是不是真的在Python世界大的事情,在我的經驗。

但看着你的圖,我同意這個概念看起來非常相似。不要忘記,ORM就是這樣一種關係概念到對象的映射:在這種情況下,貫穿表映射始終以多對多關係創建的中間表。唯一的區別是,如果您想爲該關係添加額外信息(例如鏈接中的註冊日期),則只需手動指定即可。如果您不需要額外的字段,則不需要指定中介模型,但該表仍然存在,僅包含M2M關係每端的外鍵。

+0

是的,我想我看到的大多數東西確實證明UML並不是Python社區非常使用的。謝謝。 – 2011-04-14 11:37:27

0

它們用於存儲有關多對多關係的其他數據。我確信這是褻瀆神明,但我認爲最好的例子是來自Ruby on Rails guides,它使用患者和醫生之間的關聯。醫生通過預約有許多患者;患者通過預約也有許多醫生;但是你不能直接模擬這種關係,因爲約會還有日期和時間。

我認爲你在概念上是正確的,它們服務於與UML中關聯類相似的目的。

0

這是在任何關係數據庫中如何實現多對多關係,它是關係數據庫設計的基本部分。所以我建議首先了解數據庫設計原則,因爲無論如何知道數據庫如何工作對於正確使用ORM都是必需的。

wikipedia on Many-to-many