如何添加与ManyToManyField相关的另一个字段?

时间:2018-06-30 17:44:16

标签: python mysql django django-models

CodeIgniter

我正在为体育比赛制作竞技体育模型。我有一个现有的 Player 模型,其中列出了球员姓名和他们的球队。现在您可以看到,我已经添加了 player 字段作为ManyToManyField来选择说出 4-5 的球员。现在我需要每个球员的完成时间来判断谁有资格参加下一轮比赛。只能在此模型中执行此操作吗?还是我必须添加其他模型?救救我!

1 个答案:

答案 0 :(得分:1)

您需要一个在Player和Athletics之间的中间模型来记录特定于这两个模型的多对多关系的信息。请阅读Extra fields on many-to-many relationships

class PlayeAthletics(models.Model):
    player = models.ForeignKey(Player, on_delete=models.CASCADE)
    athletics = models.ForeignKey(Athletics, on_delete=models.CASCADE)
    time = models.IntegerField()

class Athletics(Match):
    player = models.ManyToManyField(Player, through='PlayerAthletics')