使用django表单从单个页面记录多个记录

时间:2012-01-31 23:21:54

标签: python django django-forms

是否有可能,如果是这样,有人可以指出我正确的方向。这是我的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,任务类型和日期的有效值的行创建唯一任务记录。并为每个有效任务值创建第二条记录(在Task_Value表中),并在同一行中创建task_type事件的外键链接。

这可能来自一个页面/表格,还是我需要为任务类型执行某种类型的快速集体条目,然后将表单作为表格加载刚刚创建的事件并单独记录值? (这是用户输入,而不是管理员输入)


因此,对于额外数量,它会像用户定义的kwargs一样的formset,但是在顶部共享一些未被多次复制的公共字段(因此用户可以为相同的日期和任务类型创建许多记录)。两个表单集中的每一个只有一个重复字段(任务记录的客户端ID和task_value记录的task_value)。然后第二个从第一个获取外键的pk。

2 个答案:

答案 0 :(得分:1)

我认为你要的是Django的InlineModelAdmin Objects。它们工作得非常好,有几种方法可以设置它们。

答案 1 :(得分:1)