这可能是一个关于数据库的通用问题,而不是django,但我们走吧。关系(x> 1)到多个
我经常有什么可以被认为是2对多关系。 例如,我在我的项目中有一个类匹配,这是两个团队之间的相遇。
起初,我是用许多一对多:
Match(Model):
teams = ManyToManyField('Team', related_name='matches') #Always two teams
它结束了对比赛相关的页面非常低效的。尤其是在django 1.3中,因为没有与many_to_many关系的select_related等效。当你现在只有两个元素时,必须迭代有点痛苦。
然后我切换到这种模式:
Match(Model):
teams = ManyToManyField('Team', related_name='matches') #Always two teams
team1 = ForeignKey('Team')
team2 = ForeignKey('Team')
当我想显示匹配相关的网页,我可以使用select_related和非常有效地显示两队。 当我在球队页面上时,我可以按照“比赛”关系来获取所有比赛。 但我发现处理一个关系的3个领域是非常可怕的。
我在做对吧?你会推荐什么 ?
您可以详细说明您的缓存组织吗? – jpic 2012-02-26 13:43:33
标题中的两个标签,两个标签都有不同的分隔符...... ARGH! – 2012-02-26 15:32:21
@jpic我不明白 – Ashe 2012-02-26 23:18:10