У меня есть модель, которая выглядит примерно так:
class Business(models.Model):
name = models.CharField('business name', max_length=100)
# ... some other fields
emails = models.ManyToManyField(Email, null=True)
phone_numbers = models.ManyToManyField(PhoneNumber, null=True)
urls = models.ManyToManyField(URL, null=True)
и соответствующая ModelForm:
class BusinessContactForm(forms.ModelForm):
emails = forms.CharField(widget=forms.Textarea(attrs={'rows':4,'cols':32}))
phone_numbers = forms.CharField(widget=forms.Textarea(attrs={'rows':4,'cols':32}))
urls = forms.CharField(widget=forms.Textarea(attrs={'rows':4,'cols':32}))
class Meta:
model = Business
fields = ['emails', 'phone_numbers', 'urls',]
Мой вопрос: Каков наилучший способ загрузки существующих электронных писем, телефонных номеров и URL-адресов в виджеты Textarea при представлении формы (по одному на строку в соответствующих виджетах)?
Затем, после того, как форма была изменена и отправлена, как лучше всего добавить новые электронные письма, номера или URL-адреса (отношения m2m) и удалить все, которых больше нет в списке (также убедившись, что не добавлять дубликаты)?