Django добавляет несколько форм с динамическими полями и ограничением по внешнему ключу на одну страницу

Я новичок в Django и в настоящее время борюсь со следующей проблемой:

У меня есть модель базы данных, состоящая из следующего:

`

class monitor(models.Model):
    imap_address = models.CharField(max_length=200)
    imap_email = models.CharField(max_length=200)
    imap_password = models.CharField(max_length=200)
    smtp_address = models.CharField(max_length=200)
    smtp_email = models.CharField(max_length=200)
    smtp_password = models.CharField(max_length=200)
    receiver_email = models.CharField(max_length=200)

    def __str__(self) -> str:
        return self.imap_email
    
class Email_filter(models.Model):
    mail = models.ForeignKey(monitor, on_delete=models.CASCADE)
    filter = models.CharField(max_length=200)
    
    def __str__(self) -> str:
        return self.filter
    
class Subject_filter(models.Model):
    mail = models.ForeignKey(monitor, on_delete=models.CASCADE)
    filter = models.CharField(max_length=200)
    
    def __str__(self) -> str:
        return self.filter

class Body_filter(models.Model):
    mail = models.ForeignKey(monitor, on_delete=models.CASCADE)
    filter = models.CharField(max_length=200)
    
    def __str__(self) -> str:
        return self.filter
    
class Attachment_filter(models.Model):
    mail = models.ForeignKey(monitor, on_delete=models.CASCADE)
    filter = models.BooleanField()
    
    def __str__(self) -> str:
        return self.filter

`

Итак, у меня есть один главный монитор модели, и каждый монитор может иметь любое количество фильтров. Теперь я хочу создать страницу для изменения базы данных с несколькими формами. По одной форме для каждого из объектов монитора в базе данных (и одна пустая форма для добавления нового). Для каждой формы я хотел бы редактировать отдельные поля монитора, а также динамически добавлять любое количество фильтров. Я сейчас весь день ищу, но толком ничего не нашел.

У кого-нибудь есть идея, как этого достичь?

Большое спасибо!

Я слышал о inlineformset_factory для добавления внешних ключей к одной форме, но не знал, как затем создать несколько форм на основе этого. Я также читал о наборах форм, но не мог понять, как они работают.

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