Заполнение экземпляра модели данными другой модели во время создания экземпляра

Я создаю приложение в качестве учебного проекта на Django. Есть 3 класса моделей:

# MOC class

class Moc(models.Model):
    
    name = models.CharField(max_length=128, blank=True, null=True)
    my other fields...

    def __str__(self):
        return str(self.id)

    def save(self, *args, **kwargs):
        created = not self.pk
        super().save(*args, **kwargs)
        if created:
            CheckList.objects.create(moc=self)

# Pre Implement class

class CheckList(models.Model):
    moc = models.OneToOneField(Moc, related_name='checklist', on_delete=models.CASCADE, default='1')
    name = models.CharField(max_length=128, blank=True, null=True)


    def __str__(self):
        return str(self.id)

    def save(self, *args, **kwargs):
        created = not self.pk
        super().save(*args, **kwargs)
        if created:
            CheckListItem.objects.create(checklist=self)


# Pre Implement Items class

class CheckListItem(models.Model):
    checklist = models.ForeignKey(CheckList, related_name='checklistitems', on_delete=models.CASCADE, default='1')
    action_item = models.TextField(max_length=128, blank=True, null=True)
    actionee_name = models.ForeignKey(User, related_name='actionee_ready_pre_implements', on_delete=models.CASCADE, default='1')
    action_due = models.DateField(blank=True, null=True)

    def __str__(self):
        return str(self.id)

Я создаю экземпляр Moc и по сигналу сохранения создаю экземпляр класса CheckList и, соответственно, экземпляры класса CheckListItem.

Однако, представляя, что мой CheckList после создания всегда должен иметь 10 объектов CheckListItem в качестве предварительно заполненного списка (как начальные данные). Я не могу понять, можно ли это сделать (по крайней мере, как я пытаюсь достичь этого в соответствии с отношениями моей модели).

Я не хочу жестко кодировать эти элементы в моем HTML, я хочу контролировать добавление/удаление этих CheckListItems для связанных экземпляров Moc/CheckList как релевантных.

Любые мысли, пожалуйста?

Я решил эту проблему, используя InlineFormSets, поскольку он отвечает за отношения FK.

Вернуться на верх