【发布时间】:2022-11-19 21:45:28
【问题描述】:
我从模型中删除了 ForeignKey,我猜迁移没有正确应用。那是三天前,从那时起就应用了其他迁移。
问题是现在我无法重新创建相同的ForeignKey,因为当我重新创建该字段时,Django 看不到models.py 中的更改。
解决此问题的最佳方法是什么?
class Account(TimestampedModel):
name = models.CharField(max_length=50, null=True)
# python manage.py makemigrations
No changes detected
当我重新创建该字段时,它一直说未检测到任何变化。
class Account(TimestampedModel):
name = models.CharField(max_length=50, null=True)
exchange = models.ForeignKey(Exchange, on_delete=models.CASCADE, related_name='account', null=True) # ForeignKey I cant recreate
# python manage.py makemigrations
No changes detected
我试图在调用makemigrations 时指定应用程序的名称,但没有帮助。
【问题讨论】:
-
关于 Django 的“想法”,您究竟是如何得出结论的?你在做什么,(意想不到的)结果是什么?
-
你好,我添加了一个例子来澄清这个问题。
-
尝试注释模型并再次运行迁移,然后取消注释,然后再次运行迁移。希望这会奏效!
-
您能否向我们展示此模型的当前迁移(即迁移文件)?
-
@9769953 不幸的是很难发布多个文件的内容;我所做的是删除所有迁移文件,再次调用
makemigrations,然后调用migrate --FAKED。