我有模型和迁移文件的名为“app1”的django应用程序。 我将此应用重命名为“app2”,并且我修复了所有导入,网址... 但我在迁移文件和表中的数据时遇到问题。 我如何写用正确的方式迁移,以确保: - 新安装=>创建新表 - 更新旧版本=>创建新表,将数据移动,删除旧表Django重命名应用程序和迁移
PS:有几个表与许多FK。
这里是我的进步,我不知道如果我的好办法: - 所有旧的迁移删除 - makemigrations产生新的迁移文件
后这2步我可以安装我的应用程序,但旧版本仍然存在问题。
问题:什么是迁移数据的最佳方式? PS:我不使用南方。我不会使用南方。
要添加对此,我发现当使用此方法重命名应用程序时,django不更新内容类型,而是在运行迁移时为每个应用程序模型创建新的内容类型(和权限)。如果你使用通用的外键等,这会造成麻烦。我通过在所有的'AlterModelTable'之前添加'RunPython'操作来解决这个问题。我的'RunPython'函数运行'ContentType = apps.get_model('contenttypes','ContentType')''ContentType.objects.filter(app_label ='old_app')。update(app_label ='new_app')' – DBrowne