Django:查找某个表中的最大行数

时间:2011-11-05 16:57:21

标签: python database django self-join

我正在尝试在django ORM中找到找到相关数据最佳组合的典型问题的最佳解决方案。我有以下型号:

class Player (models.Model):
    nickname = models.CharField(max_length=200)

class Match (models.Model):
    winner = models.IntegerField()

class MatchPlayer(models.Model):
    player = models.ForeignKey(Player)
    match = models.ForeignKey(Match)
    team = models.IntegerField()

所以,基本上我们有某场比赛的比赛,其中两支球队每人超过1人,互相比赛,并且总共有1名球员(1支球队,数名球员)。

球队没有一个固定的阵容,也就是说,在比赛中扮演盟友的球员,可能会在下一场比赛中扮演敌人(或根本不参加比赛)。

我希望找到玩家的一对(或者,理想情况下,更一般的形式,任何N个玩家),只要他们一起玩(或者再次,理想情况下,成对的玩家和他们的胜利%),他们的胜率最高%,在django。

通常在SQL中我会自己加入播放器表格,其中matchplayer_1.match = matchplayer_2.match和matchplayer_1.player!= matchplayer_2.player按两个玩家字段分组并获取有关match.winner的信息。但是在Django中,据我所知,如果模型中没有明确的关系,我就不能随意加入一个表。

有办法解决这个问题吗?

提前致谢!

布鲁诺

(更新:上面添加的模型)

0 个答案:

没有答案