【发布时间】:2015-06-04 17:39:21
【问题描述】:
这是对这个问题的扩展:How to move a model between two Django apps (Django 1.7)
我想使用 Django 迁移将模型 M 从应用程序 A 移动到应用程序 B,而不会丢失数据。该问题的最佳投票答案(不是被接受的答案,ozan 的答案)建议使用 migrations.SeparateDatabaseAndState 并分两步进行:
- 迁移以删除模型并重命名(而不是删除)数据库表。
- 迁移以创建新模型并为其使用现有表。
这对我来说似乎是一个非常聪明的方法,但是在我的情况下,还有另一个模型 N 具有 M 的外键。现在,当我在第二步中调用 makemigrations 来制作迁移文件时,我收到一个错误,因为在那个阶段,模型 AM 已不存在:
ValueError: Lookup failed for model referenced by field C.N.m: A.M
有没有办法解决这个问题?
【问题讨论】:
标签: python django django-migrations