【问题标题】:Move models between Django (1.8) apps with ForeignKey references使用 ForeignKey 引用在 Django (1.8) 应用程序之间移动模型
【发布时间】:2016-04-17 15:26:08
【问题描述】:

我基本上有同样的问题Move models between Django (1.8) apps with required ForeignKey references。 @halfnibble 的回复 似乎有效,但在我的情况下,有一个从 new_app 指向 old_app 的 ForeignKey。 为简单起见,我会将我的名字翻译成 @halfnibble 示例中的名字,Tires 将有一个 ForeignKey to Car。

迁移运行良好。 几次迁移后,我将 old_app.Car 重命名为 old_app.NewCar (我不知道这是否会影响)。 但是稍后当我尝试删除 new_app.Tires 并在下一次迁移 old_app.NewCar 时进行一些迁移时,我得到了错误:

>python manage.py migrate
  ....
ValueError: Unhandled pending operations for models:
  old_app.newcar (referred to by fields: new_app.Tires.car)

如果我运行我的应用程序测试它们运行正常,我还检查了生成的 MySQL 查询并且看起来是正确的。

【问题讨论】:

    标签: django migration


    【解决方案1】:

    我发现了错误,我留下了这个信息,以防有人遇到同样的问题。

    问题确实是由 old_app.Car 重命名为 old_app.NewCar 引起的。

    makemigrations 检测到更改并创建了两个迁移,一个在 old_app 中重命名,另一个在 new_app 上更新 ForeingKey。问题是您必须手动添加 new_app 依赖项和 old_app 迁移,其中模型被重命名。

    【讨论】:

      猜你喜欢
      • 2015-08-16
      • 2017-08-25
      • 2014-10-28
      • 2011-05-07
      • 1970-01-01
      • 2023-01-11
      • 2013-11-16
      • 2016-03-07
      相关资源
      最近更新 更多