很多人都说过django的ManyToMany
递归通过对称"选择两个"局限性。
我可以在线找到的最佳解决方案是Charles Leifer的对称关系实现,方法是在两个方向上手动创建链接(通过实施add_relationship
和remove_relationship
以及许多其他方法)。< / p>
虽然这是一个有效的实现,但我考虑做一些不同的事情。那么我的问题是,我想做的事情是好还是坏?此外,任何有关如何改进这一点的建议都将非常受欢迎!
就是这样:
让Instance
成为一个递归相关的对象,matches
它是多对多的字段。
我注意到matches
有一个名为@property
的{{1}}对象,访问它会返回through
类型的对象。
我希望在新模型对象中继承Instance_matches
,我们会调用Instance_matches
,创建Multi-table inheritance并手动确保创建MatchDetails
1}}每个MatchDetails
的对象。
然后,通过执行Instance_matches
,我总是可以获得我原来希望matches
拥有的额外属性。
我没有尝试这样做,并且在我接受社区审查后会更新结果。
谢谢!