如何在Django中从ForeignKey更改为ManyToManyField?

时间:2015-12-22 09:18:41

标签: python django

我试图将一个变量从ForeignKey更改为ManyToManyField。我尝试执行命令迁移时获得以下错误:

" ValueError:无法将视频视频。视频。机器更改为视频。视频。机器 - 它们不兼容类型(您不能更改或来自M2M字段,或在M2M字段上添加或删除通过)& #34;

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这里有两种方式(我可以想到这一点):

  1. 创建一个临时字段来存储videos.Video.machine的当前数据,删除videos.Video.machine字段,将videos.Video.machine添加回m2m字段,将数据从临时字段迁移到此新字段,并删除临时字段。
  2. 创建一个新字段,即m2m的videos.Video.machines,将当前字段videos.Video.machine复制到其中,然后删除videos.Video.machine字段。
  3. 我个人会选择第二个,因为它不仅更容易,而且命名更有意义!