我有两个模型A和B(例如员工和项目),需要用多对多的关系来表示。
我已经阅读了django文档。但是,我很难相信我是否应该在A或A中添加多个B字段以及B中的多个字段。我知道两者都可以工作。
建议哪个更合适。
答案 0 :(得分:0)
问自己以下问题:
我对创建新项目时选择员工更感兴趣,或者我在创建新员工时更有兴趣选择项目?
这可以帮助您确定哪个对象应该保持关系。
例如:当您创建新的user
时 - 您更有兴趣选择groups
,而不是在创建新users
时选择group
。因此,在这种情况下,它更适合user
将groups
保留为M2M
字段。
答案 1 :(得分:0)
您可以将项目视为主题 - 项目由员工提供,同时将员工视为对象 - 员工可能正在处理一个或多个项目。由于员工是谁(并且因此更具交易性),您可以选择更合适的人。