我已成功使用Django 1.7中的makemigrations
和migrate
来更改,添加和删除字段。不幸的是,在尝试重命名中间模型时,我无法使其正常工作。即我有两个模型A和B,通过模型X通过多对多字段链接,我想将X重命名为Y.
正在运行manage.py makemigrations
并未检测到重命名,而是删除了X并添加了Y.但是这不是问题。我用:
[ 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'关系挣扎。我尝试添加一个迁移命令来更改该关系,将其更新为中间模型的新名称,但这也无济于事。