我正在尝试创建一个表单来输入一轮高尔夫的分数。标准的高尔夫球是18洞,所以一旦提交,该表格应创建18个“得分”实例。我将如何创建一个包含“播放器”单个下拉列表的表单,以及每个孔中包含笔划的18个文本字段?以下是使用的模型:
class Score(models.Model):
hole = models.ForeignKey(Hole, on_delete=models.CASCADE)
player = models.ForeignKey(Player, on_delete=models.CASCADE)
strokes = models.IntegerField(default=0)
class Player(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
class Hole(models.Model):
number = models.IntegerField()
答案 0 :(得分:2)
看看Django Inline Formsets。这允许您为每个视图包含多个表单,并且内联表单集允许您使用外键相关的对象。
当您知道需要在模板中包含的表单的确切数量时,相对容易一些。但是,如果您想在模板中动态包含表单,则需要考虑添加一些javascript来提供此功能。