【发布时间】:2012-07-21 03:45:50
【问题描述】:
我有一个社会集团对象。
在每个社会集团对象中,我都有一个朋友对象列表。
每个朋友对象都有一个关系对象(充满了有趣的事实,比如他们何时相遇)与其他朋友。
在这里我被卡住了。如何正确定义我的模型,以便我可以查询任何朋友对象以提取他们的共享关系对象?
我认为这不是简单地用bidirectional model like this answer 解决的,因为我正在处理一个庞大且不断增长的朋友对象列表(在链接到的解决方案中,他们创建了两个不同的模型,例如friend_a 和friend_b)。
我目前的方法是让关系对象看起来像下面发布的那样。我必须在我的代码中添加逻辑以防止重复的关系对象......但是这个
class Relationship(models.Model):
social_clique = models.ForeignKey( Social_Clique )
friend_0 = models.ManyToManyField( Friend, related_name='friend_0' )
friend_1 = models.ManyToManyField( Friend, related_name='friend_1' )
我觉得我缺少正确的关键字来谷歌找到这个问题的 ORM 设计模式。关于正确描述此问题或如何解决此问题的任何建议?
【问题讨论】:
标签: python django design-patterns