涉及RenameModel的Django迁移不起作用

时间:2014-11-19 04:03:08

标签: django django-models django-migrations

我已成功使用Django 1.7中的makemigrationsmigrate来更改,添加和删除字段。不幸的是,在尝试重命名中间模型时,我无法使其正常工作。即我有两个模型A和B,通过模型X通过多对多字段链接,我想将X重命名为Y.

正在运行manage.py makemigrations并未检测到重命名,而是删除了X并添加了Y.但是这不是问题。我用:

替换了Django的自动生成的脚本
[ migrations.RenameModel(old_name='X',new_name='Y'),
  migrations.AlterField(
        model_name='Y',
        name='a',
        field=models.ForeignKey(related_name=b'Y', to='B'),
    )]

这给了我以下错误:

ValueError: Lookup failed for model referenced by field b: X

所以我猜它正在与一个包含模型旧名称的'through'关系挣扎。我尝试添加一个迁移命令来更改该关系,将其更新为中间模型的新名称,但这也无济于事。

0 个答案:

没有答案