在ModelForm / Form中,收集通过ManyToMany关系连接的另一个Model的信息

时间:2018-12-11 10:20:23

标签: django django-models django-forms

我有3个模型:帐户,电子邮件和项目。

一个帐户可以有多个电子邮件,项目可以有多个电子邮件,一个电子邮件可以有多个项目。

class Account(models.Model):
    name = models.CharField(max_length=255)

class AccountEmail(models.Model):
    account = models.ForeignKey(Account,  on_delete=models.CASCADE)
    email = models.EmailField(max_length=255, unique=True)

class Item(models.Model):
   emails = models.ManyToManyField(AccountEmail, related_name='account_emails_products')
    name = models.CharField(max_length=255)

可以在项目级别添加电子邮件,无或多(动态无固定编号)。

<input type="email" id="email" size="30" >
<input type="email" id="email" size="30" >
<input type="email" id="email" size="30" >

表格:

class ItemModelForm(forms.ModelForm)
  class Meta:
    model = Product

我的问题是如何将其添加到表单并保存。

我需要直观地显示为输入表单,收集值,验证并检查所有输入,将它们保存在AccountEmails中,并在创建关系之后。

成为M2M(动态)我可以在ModelForm中表示它们,但是可以使用收集器字段。

如果字段实际上不存在,如何收集信息以进行清洁/验证?

0 个答案:

没有答案