2011-04-13 26 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