我正在尝试解决问题,但我不知道如何面对它。我需要一些帮助: - )
我有一个像这样的模型层次结构:
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 | |
| +-------------------+ |
+-----------------------------------+
请非常感谢任何形式的帮助,建议或链接。