当我迁移时,我总是遇到错误。首先,我创建了表,然后删除了它。现在当我再次创建表时。我正面临这个问题。它也不会创建列。
模型.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,“无法删除'company_id';检查列/键是否存在”)
你可以看一下migrations文件夹下的py文件,把操作列表中错误的remove注释掉。
这是一个可行的修复方法。 步骤1:注释模型中给出错误的行 步骤2:删除特定的迁移文件,即0003.faied_migrations.py 第三步:运行
python manage.py migrate --fake
步骤4运行python manage.py makemigrations
您还可以附加app_name,例如python manage.py makemigrations accounts
步骤5:运行 python manage.py migrate
或 python manage.py migrate mainapp
解决这个问题最简单的方法就是从头开始重新制作数据库。