python - 单个页面上的多个 Django 表单
问题描述
我正在尝试创建一个表格来输入一轮高尔夫的分数。一轮标准的高尔夫是 18 洞,因此一旦提交,表单应创建 18 个“Score”实例。我将如何创建一个表单,该表单包含一个“玩家”下拉列表和 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()
解决方案
看看Django 内联表单集。这允许您在每个视图中包含多个表单,并且内联表单集允许您使用外键相关的对象。
当您知道需要在模板中包含的确切表格数量时,相对容易一些。但是,如果您想在模板中动态包含表单,则需要考虑添加一些 javascript 来提供此功能。
推荐阅读
- javascript - 图像数据存储在哪里以及如何访问它
- android - Xamarin.Forms.Device.StartTimer - 用户交互似乎存在“滞后”
- wordpress - 编辑器中的 Wordpress getblocks 返回错误:('core/editor').getBlocks` 已弃用
- aws-lambda - 带有 aws Lambda 的 activejdbc
- java - Java Streams concat Streams with Supplier 后跟 distinct(惰性求值行为)
- html - CSS:如何在内容更改时阻止 div 的高度缩小
- f# - 更改返回类型的部分应用程序
- java - 将特殊字符识别到一个字符串中,使其与另一个字符串无法比较
- javascript - 如何使用 API 仅使用 javascript 来缩短 url?
- html - 如何完全填充我的导航栏,以便没有未使用的空白空间?