Zagnieżdżone zestawy danych Django [zamknięte]
Próbuję rozwiązać problem, ale nie mam pojęcia, jak sobie z tym poradzić. Potrzebuję pomocy :-)
Mam taką hierarchię modeli:
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)
Muszę napisać okno dialogowe, w którym tworzę kilka grup kroków. InlineFormSet wygląda na dobry sposób, ale ponieważ istnieją dwa poziomy zagnieżdżania, nie wiem, jak to zrobić.
Poza tym potrzebuję zwykłych rzeczy z formularzami: kontrola błędów (form.name_of_field.errors), autopopulacja podczas edycji zadania itp., Więc robienie tego ręcznie za pomocą javascript i obsługi po stronie serwera żądania POST byłoby zbyt skomplikowane i błędne skłonny.
W ten sposób potrzebuję formularza (liczba kroków w każdej grupie jest ustawiana przez pole „number_of_steps” w modelu zadania):
+-----------------------------------+
| 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 | |
| +-------------------+ |
+-----------------------------------+
Wszelkie pomoc, sugestie lub linki będą bardzo mile widziane.