Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Django迁移无法应用_Mysql_Django_Django Migrations - Fatal编程技术网

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'