django - 如何在一个字段中添加多个电子邮件
问题描述
我正在尝试创建一个包含一个或多个电子邮件地址的电子邮件字段的公司类。
我知道有可以将一封电子邮件作为参数的 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 字段以获取我需要的多封电子邮件的参数?
发送!
解决方案
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
验证。
推荐阅读
- kotlin - 让 Recycler View Items 在文本视图中显示它们的位置
- android - 运行测试时,Gradle 无法从另一个模块中找到类
- html - 在循环 gif 结束时闪烁?
- c - C - 有什么方法可以多次初始化 srand ?
- flutter - 应该为从 git 缓存的 pub 包自动生成 .packages 文件吗?
- terraform-provider-azure - 使用 Terraform 在 Azure 中为同一订阅下的所有 VM 创建警报
- python - 提取化学名称的美丽汤
- python - 合并指定字段上的元组
- kotlin - 如果我在视图寻呼机中跳过一个片段,它会暂时可见
- java - 1000 locker java问题不使用数组