Mysql Django迁移无法应用
我已从模型中删除了一个外键字段,并添加了另一个外键字段,因此:Mysql Django迁移无法应用,mysql,django,django-migrations,Mysql,Django,Django Migrations,我已从模型中删除了一个外键字段,并添加了另一个外键字段,因此: class MyModel(models.Model): fk_a = models.ForeignKey(ModelA) 到 我自动生成了迁移,其中包括: migrations.AddField( model_name='mymodel', name='fk_b', field=models.ForeignKey(null=True, on_delete=djan
class MyModel(models.Model):
fk_a = models.ForeignKey(ModelA)
到
我自动生成了迁移,其中包括:
migrations.AddField(
model_name='mymodel',
name='fk_b',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='myapp.modelb'),
),
migrations.RemoveField(
model_name='mymodel',
name='fk_a',
),
如果我打开MySQL并描述表,在应用迁移之前,它看起来像:
mysql> describe myapp_mymodel;
+---------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| fk_a_id | int(11) | NO | MUL | NULL | |
+---------------+---------+------+-----+---------+----------------+
运行迁移时,出现以下错误:
raise django.core.exceptions.FieldDoesNotExist:
MyModel has no field named u'fk_a'
到底发生了什么事?我已重置,仔细检查了迁移和数据库状态,重新生成并重新运行迁移,出现了相同的错误。使用虚构变量,如
MyModel
和fk_a
,可能会隐藏问题。请显示实际代码和完整的回溯。如果可行,请重试。
raise django.core.exceptions.FieldDoesNotExist:
MyModel has no field named u'fk_a'