【发布时间】:2020-03-25 19:55:29
【问题描述】:
给定以下(简化的)模型:
class Person(models.Model):
name = models.CharField(max_length=64)
class Weight(models.Model):
person = models.ForeignKey(Person, verbose_name="Person")
date = models.DateField("Date")
weight = models.DecimalField("Weight", max_digits=4, decimal_places=1)
我正在寻找一种方法来一次为特定组的人添加体重信息,我通过例如获取参数。 Persons 列表的长度和列表中的 Persons 可以变化。
所以我希望生成一个类似的页面:
Person 1 Date: <pick date> Weight: <enter weight>
Person 2 Date: <pick date> Weight: <enter weight>
Person 3 Date: <pick date> Weight: <enter weight>
Person 4 Date: <pick date> Weight: <enter weight>
Person 5 Date: <pick date> Weight: <enter weight>
<Save>
这将保存体重信息 5 次,每个(不同的)人一次。
我查看了formsets 和相关文档,但看起来这些更适用于相同的项目并且可以即时生成更多(例如,在一位作者名下创建多本书)。在我的例子中,每个权重都绑定到某个人,但是这个人在表格中的每一行都不同。
我认为表单集上的prefix 选项(在一个页面上使用不同的表单集)在这里可能会有所帮助,但是查看文档我不确定。
Django 做这些事情的方式是什么?
【问题讨论】:
标签: django django-forms