Как добавить несколько писем в одном поле - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь создать класс компании с полем электронной почты, которое может содержать один или несколько адресов электронной почты.

Я знаю, что есть тип EmailField, который может принимать одно письмо в качестве параметров, но в моем случае мне нужно расширить его на несколько писем.

class Client(models.Model):
    company_name = models.CharField(max_length=100, unique=True)
    project = models.ForeignKey(Project, blank=True, null=True, on_delete=models.SET_NULL)
    email_list = models.EmailField(max_length=70)

Как мне добиться результата, расширив это поле email_list, чтобы в него входили параметры нужного мне электронного письма?

TX!

1 Ответ

1 голос
/ 09 июля 2019

EmailField нельзя использовать для списка.

Вы можете создать другую модель и использовать ForeignKey

class Client(models.Model):
    company_name = models.CharField(max_length=100, unique=True)
    project = models.ForeignKey(Project, blank=True, null=True, on_delete=models.SET_NULL)


class Email(models.Model):
    client = models.ForeignKey(Client on_delete=models.CASCADE)
    email_list = models.EmailField(max_length=70)

Или CharField, как это:

class Client(models.Model):
    company_name = models.CharField(max_length=100, unique=True)
    project = models.ForeignKey(Project, blank=True, null=True, on_delete=models.SET_NULL)
    email_list = models.CharField(max_length=1000)


Client.objects.create(company_name="test", project=project_instance, email_list=json.dumps(email_list))

Но второй, я думаю, нехорош, и вы потеряете EmailField подтверждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...