Подтвердить что ты не робот

Вложенные встроенные формы Django

Я пытаюсь решить проблему, но я понятия не имею, как ей противостоять. Мне нужна помощь: -)

У меня есть иерархия модели:

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), автопопуляция при редактировании задачи и т.д., поэтому выполнение этого вручную с обработкой запроса POST на стороне сервера будет слишком сложным и подвержены ошибкам.

Это то, как мне нужна форма (количество шагов в каждой группе задается полем "number_of_steps" в модели Task):

+-----------------------------------+
| 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 | |
|             +-------------------+ |
+-----------------------------------+

Пожалуйста, любая помощь, предложение или ссылка будут очень оценены.

4b9b3361