在django中创建多对多关系

时间:2016-07-10 12:38:03

标签: django django-models

我有两个模型A和B(例如员工和项目),需要用多对多的关系来表示。

我已经阅读了django文档。但是,我很难相信我是否应该在A或A中添加多个B字段以及B中的多个字段。我知道两者都可以工作。

建议哪个更合适。

2 个答案:

答案 0 :(得分:0)

问自己以下问题:

  

我对创建新项目时选择员工更感兴趣,或者我在创建新员工时更有兴趣选择项目?

这可以帮助您确定哪个对象应该保持关系。

例如:当您创建新的user时 - 您更有兴趣选择groups,而不是在创建新users时选择group。因此,在这种情况下,它更适合usergroups保留为M2M字段。

答案 1 :(得分:0)

您可以将项目视为主题 - 项目由员工提供,同时将员工视为对象 - 员工可能正在处理一个或多个项目。由于员工是谁(并且因此更具交易性),您可以选择更合适的人。