使用Django表单从单个页面记录多个记录
这可能吗?如果可以的话,有人能给我指个方向吗?这是我的 model.py:
class Client(models.Model):
user_name = models.CharField
class Task(models.Model):
client = models.ForeignKey(
'Client',
)
task_type = models.ForeginKey(
'Task_Type',
)
date = models.DateTimeField()
class Task_Type(models.Model):
name = models.CharField
class Task_Value(models.Model):
value_num = models.DecimalField
task = models.ForeignKey(
'Task',
)
我想要的是一个表单,用户看到的内容是:
- 任务类型 - 日期(适用于所有后面的记录)
- 客户 ID 1 - 任务值 1
- 客户 ID 2 - 任务值 2
- 客户 ID 3 - 任务值 3
- 客户 ID 4 - 任务值 4
每一行都有有效的客户 ID、任务类型和日期时,就会为每一行创建一个独特的任务记录。而且对于每一个有效的任务值,也会在任务值表中创建第二个记录,并且在同一行中与创建的任务类型事件建立外键链接。
这样做是可以在一个页面/表格中完成,还是说我需要先快速输入任务类型,然后再加载一个表格形式的表单,记录刚创建的事件,并单独记录这些值?(这是给用户输入的,不是给管理员输入的)
所以这就像是有一个表单集合,用户可以定义额外的数量,但在顶部共享一些公共字段,这些字段不会被复制多次(这样用户就可以为同一个日期和任务类型创建多个记录)。这两个表单集合中每个只会有一个重复的字段(任务记录的客户 ID 和任务值记录的任务值)。然后第二个表单集合会从第一个表单集合获取主键作为外键。