以编程方式识别django多对多链接

时间:2012-02-02 12:14:24

标签: mysql django many-to-many

我想自动生成多对多链接的对象列表。

假设我有5个型号:

Model 1 has a M2M link to Model 2
Model 2 has a M2M link to Models 3 and 4
Model 4 has a M2M link to Model 5

如果用户将对象添加到模型1,我想为他们提供添加另一个模型1或添加模型2的选项

如果用户将对象添加到模型2,我想为他们提供添加另一个模型2的选项,或者添加模型1,3或4。

如果用户将对象添加到模型4,我想为他们提供添加另一个模型4或模型5/2的选项。

有没有办法自动检测这些关系(向前和向后)?

1 个答案:

答案 0 :(得分:2)

您可以通过Model1()._meta.many_to_many访问m2m关系字段,这将返回所有m2m关系,包括GenericRelations