【发布时间】:2023-03-16 18:05:01
【问题描述】:
我有两个模型,即;模型 1 和模型 2。 Model2 中的一个字段作为 Model1 的外键。这里 Model1 的主键是 'id'。但是现在我修改了主键字段,删除了 id 并添加了名为 demo_num 的字段作为主键。现在我的模型看起来像
class Model1(models.Model):
dem_num = models.IntegerField(primary_key=True)
class Model2(models.Model):
dem_fk = models.Foreignkey('Model1')
但是当我进行迁移时,它会显示类似的错误,
django.db.utils.OperationalError: (1829, "Cannot drop column 'id': required in a foreign key constraint of table Model2)
如何解决这个问题?
注意: 在不删除迁移文件的情况下,我想这样做
【问题讨论】:
-
您需要清理您的
Model2或创建数据迁移,您必须确保:没有其他解决方案可以更改“PK”字段