用于从另一个模型(Django)获取列的外键

用于从另一个模型(Django)获取列的外键,django,django-models,foreign-keys,Django,Django Models,Foreign Keys,我一直在尝试向我的培训主题模型添加一个名为“email”的新列,并通过外键将其值链接到另一个模型(培训),然后在前端显示所有内容(后面是django,前面是react) 我已将此行添加到培训主题模型中: email = models.CharField(_('Email assigned'), max_length=100, default='', blank=True) email_to = models.ForeignKey(TrainingSubject, related_name='m

我一直在尝试向我的培训主题模型添加一个名为“email”的新列,并通过外键将其值链接到另一个模型(培训),然后在前端显示所有内容(后面是django,前面是react)

我已将此行添加到培训主题模型中:

email = models.CharField(_('Email assigned'), max_length=100, default='', blank=True)
email_to = models.ForeignKey(TrainingSubject, related_name='manager_email', default='', blank=True)  
而这一款则适用于培训车型:

email = models.CharField(_('Email assigned'), max_length=100, default='', blank=True)
email_to = models.ForeignKey(TrainingSubject, related_name='manager_email', default='', blank=True)  
全文如下:

    class TrainingSubject(models.Model):
    """TrainingSubject model for storing subjects."""

    name = models.CharField(_('name'), max_length=160, unique=True)
    email = models.CharField(_('Email assigned'), max_length=100, default='', blank=True)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = _('Training subject')
        verbose_name_plural = _('Training subjects')


class Training(models.Model):
    """Training model for storing trainings."""

    subject = models.ForeignKey(TrainingSubject, verbose_name=_('subject'),
                                related_name='trainings')
    email_to = models.ForeignKey(TrainingSubject, related_name='manager_email', default='', blank=True)                                
    date = models.DateTimeField(_('date'))
    timezone = models.CharField(
迁移无法应用,每次我开始创建这些东西时都会出现此错误

        Running migrations:
      Rendering model states... DONE
      Applying sonel_core.0089_training_email_to...Traceback (most recent call last):
      File "/home/vagrant/.pyenv/versions/cms/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
        return self.cursor.execute(sql, params)
    psycopg2.IntegrityError: column "email_to_id" contains null values
以前我尝试只在一个步骤中添加所有内容,现在我将其分解为两个步骤:1.将电子邮件添加到培训主题(工作非常好)和2.将电子邮件添加到培训模型中,并最终能够在前端显示此电子邮件


我做错了什么?

定义字段以接受空值,因为表已经有一些数据,添加新FK字段时,必须提供空值或有效值

email_to = models.ForeignKey(TrainingSubject, related_name='manager_email', default='', blank=True, null=True)