1054, "Unknown column" 在 Django 4.0 中添加不存在的字段时出现异常

1054, "Unknown column" exception upon adding nonexisting field in Django 4.0

我突然想到添加附加字段的问题。我希望它是布尔值,但实际上该字段是哪种类型并不重要,因为我还尝试创建一个整数字段而不是布尔值并得到相同的异常。

我得到的异常是:

django.db.utils.OperationalError: (1054, "Unknown column 'salary_profile.confirmation_link_sent' in 'field list'")

这里是我正在谈论的模型,其字段已添加到最后一行:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    birth_date = models.DateField(null=True)
    employment_date = models.DateField(null=True)
    position = models.ForeignKey('Position', on_delete=models.PROTECT, null=True)
    attestation_date = models.DateField(blank=True, null=True)
    dismiss_date = models.DateField(blank=True, null=True)
    photo = models.ImageField(blank=True, null=True, upload_to=user_directory_path)
    email_is_confirmed = models.BooleanField(default=False)
    confirmation_link_sent = models.BooleanField(default=False)

sqlite和mysql都遇到了这个问题。

到目前为止,我在 Internet 上找到的问题的唯一答案是“删除整个基地并重新开始”,说得很轻松 - 荒谬,但也在数据库本身中手动添加此字段。但我几乎不认为这是一个解决方案,因为想象一下我明天必须添加 20 个这样的字段,我也必须进行这些手动添加吗?

而且我必须补充一点,许多答案都回到了 django 1.7 等,指的是不再存在的命令 syncdb。

这个问题本身就很奇怪,因为它对我说“这个字段不存在”。当然不是,因为我想把它放在第一位。
我该怎么办?

如果重要的话:如果我在那里添加这个字段,任何其他模型都可以正常工作。所以我敢打赌,如果您尝试重现该问题,您将进行迁移而不会遇到任何麻烦。

我想,我需要添加有关此问题的其他信息。告诉我我应该带什么去 table.

谢谢。我在 forms.py 中向数据库发出了请求。在回溯的中间,他指向请求所在的表单。这个问题已经解决了。