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

class Team(models.Model):

    college = models.CharField(max_length=20)

    image = models.FileField(upload_to='documents/',null=True)



    def __str__(self):

        return self.college  


  class Athletics(Match):

        time = ?

        player = models.ManyToManyField(Player, related_name='player')

        game_level = models.CharField(max_length=256, null=True, choices=LEVEL_CHOICES) # like semi-final, final etc

        game_specific = models.CharField(max_length=256,null=True, choices=EVENT_CHOICES) #like Men's Shot Put or Men's Triple Jump etc


        def __str__(self):

            return str(self.game_level)

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


蓝山帝景
浏览 137回答 1
1回答

PIPIONE

您需要一个介于Player和Athletics之间的中间模型来记录特定于这两个模型的多对多关系的信息。请阅读关于多对多关系的其他字段。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')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python