栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在两个Django应用之间移动模型(Django 1.7)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在两个Django应用之间移动模型(Django 1.7)

我正在删除旧答案,因为这可能会导致数据丢失。如ozan所述,我们可以在每个应用中创建2个迁移。这篇文章下面的评论是我的旧答案。

第一次迁移以从第一个应用中删除模型。

$ python manage.py makemigrations old_app --empty

编辑迁移文件以包括这些操作。

class Migration(migrations.Migration):    database_operations = [migrations.AlterModelTable('TheModel', 'newapp_themodel')]    state_operations = [migrations.DeleteModel('TheModel')]    operations = [      migrations.SeparateDatabaseAndState(        database_operations=database_operations,        state_operations=state_operations)    ]

第二次迁移取决于第一次迁移并在第二个应用程序中创建新表。将模型代码移至第二个应用程序后

$ python manage.py makemigrations new_app

然后将迁移文件编辑为类似的内容。

class Migration(migrations.Migration):    dependencies = [        ('old_app', 'above_migration')    ]    state_operations = [        migrations.CreateModel( name='TheModel', fields=[     ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ], options={     'db_table': 'newapp_themodel', }, bases=(models.Model,),        )    ]    operations = [        migrations.SeparateDatabaseAndState(state_operations=state_operations)    ]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/416470.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号