首页 > 解决方案 > 在 django 中加入两个模型

问题描述

我有两个具有唯一键的模型:EMAIL。对于这两个模型,字段 EMAIL 是唯一的,但是模型 A 的某些电子邮件不一定存在于模型 B 中。我想执行内部连接,但是由于我对 Django 很陌生,所以我不知道如何去做这个。

标签: django-modelsdjango-rest-frameworkdjango-views

解决方案


您应该像这样定义电子邮件模型

class Email(models.Model):
    """
    Email model.
    """
    email = models.EmailField(
        unique=True,
        error_messages={
            'unique': "This email has already been registered."
        }
    )

    def __str__(self):
        return self.email

然后使用 ForeignKey 创建 2 个与 Email 模型相关的模型。

或者您只需要为每个模型使用 EmailField 来保存电子邮件。

class ModelA(models.Model):
    """
    A model.
    """
    email = models.EmailField(
        verbose_name="Email",
        unique=True,
    )
    ...other fields

推荐阅读