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 для добавления внешних ключей к одной форме, но не знал, как затем создать несколько форм на основе этого. Я также читал о наборах форм, но не мог понять, как они работают.