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

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

如何在两个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)    ]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4951692.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存