Django嵌套内联表单集

时间:2014-01-03 00:48:18

标签: django django-forms

我正在尝试解决问题,但我不知道如何面对它。我需要一些帮助: - )

我有一个像这样的模型层次结构:

class Task(models.Model):
    name = models.CharField(max_length=255)
    number_of_steps = models.IntegerField()

class StepGroup(models.Model):
    task = models.ForeignKey(Task)
    init_date = models.DateField()

class Step(models.Model):
    group = models.ForeignKey(StepGroup)
    name = models.CharField(max_length=255)

我必须写一个对话框,在其中我创建了许多步骤组。 InlineFormSet看起来很顺利,但由于嵌套有两个层次,我不知道该怎么做。

此外,我需要通常的表单形式:错误控制(form.name_of_field.errors),编辑任务时的自动填充等,所以用javascript手动完成,服务器端处理POST请求会太复杂并且容易出错。

这是我需要表单的方式(每个组中的步骤数由任务模型中的“number_of_steps”字段设置):

+-----------------------------------+
| STEP GROUP 1                      |
|                                   |
| Init date: _____________          |
|                                   |
| Step 1: ________________          |
| Step 2: ________________          |
| Step 3: ________________          |
|                                   |
+-----------------------------------+
| STEP GROUP 2                      |
|                                   |
| Init date: _____________          |
|                                   |
| Step 1: ________________          |
| Step 2: ________________          |
| Step 3: ________________          |
|                                   |
+-----------------------------------+
|                                   |
|             +-------------------+ |
|             | Create step group | |
|             +-------------------+ |
+-----------------------------------+

请非常感谢任何形式的帮助,建议或链接。

0 个答案:

没有答案