3

当我迁移时,我总是出错。首先,我创建了表,然后将其删除。现在,当我再次创建表时。我正面临这个问题。它也不会创建列。

模型.py

class AssociateCompany(models.Model):
    user = models.ForeignKey(User, related_name="associate_user", on_delete=models.CASCADE)
    company = models.ForeignKey(Company, related_name="associate_company", on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

它不会创建列 user_id 和 company_id,并显示以下错误:

django.db.utils.OperationalError: (1091, "Can't DROP 'company_id'; 检查列/键是否存在")

4

1 回答 1

0

解决此问题的最简单方法是从头开始重新制作数据库。

  1. 如果您使用的是 SQLite。删除文件并从迁移文件夹中删除所有文件,然后再次尝试创建迁移文件。
  2. 如果您使用的是 MySQL 或 PostgreSQL,请删除所有表并重试。不要忘记删除迁移文件,否则这将不起作用。当您有一个外键并且您删除了该列而不删除相关数据时,就会出现此问题。
于 2021-10-01T11:54:39.053 回答