我正在为比赛经理建立比赛系统。我有一个“匹配”模型和“设置”模型(下面的代码)。首先,我想使用一种表格来重新组合与一场比赛相关的所有集合,我该怎么做?其次,如果我的模板中有多个匹配项,该如何处理?
models.py
class Match(models.Model):
isFinished = models.BooleanField(default=False)
team1Win = models.BooleanField(default=False)
team2Win = models.BooleanField(default=False)
phase = models.ForeignKey(Phase, default=None, on_delete=models.CASCADE)
teams = models.ManyToManyField(Team, default=None, blank=True)
class Set(models.Model):
timeSet = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)
scoreTeam1 = models.IntegerField(null=True)
scoreTeam2 = models.IntegerField(null=True)
match = models.ForeignKey(Match, default=None, on_delete=models.CASCADE)
models.py
class SetUpdateForm(forms.ModelForm):
class Meta:
model = Set
fields = [
'scoreTeam1',
'scoreTeam2',
'match',
]
编辑: 我创建了表单集,等等...一切都很好,但是我想在提交表单集之前进行一些验证,我该怎么做?
答案 0 :(得分:0)
您可以做的是创建一个inlineformset,它将映射Match和所有相关Set。
首先,您需要匹配和所有相关的集合:
timeline:${app.id}-${user.id}
请注意,如果没有首先保存Match实例(用于创建),则无法保存表单集。