ホームページ >データベース >mysql チュートリアル >Django 1.7 を使用して Django アプリ間でモデルをシームレスに移行するにはどうすればよいですか?
Django 1.7 を使用した Django アプリ間でのモデルの移行
Django 1.7 では、モデル構造の管理がより効率的になりました。単一のアプリ内にモデルがあり、それを個々のアプリに配布する必要があるとします。 Django 移行を使用してこれを実現する方法は次のとおりです:
古いアプリからモデルを削除
古いアプリで空の移行を作成します:
<code class="python">python manage.py makemigrations old_app --empty</code>
生成された移行ファイルに次のコードを追加します:
<code class="python">class Migration(migrations.Migration): dependencies = [] database_operations = [ migrations.AlterModelTable('TheModel', 'newapp_themodel') ] state_operations = [ migrations.DeleteModel('TheModel') ] operations = [ migrations.SeparateDatabaseAndState( database_operations=database_operations, state_operations=state_operations) ]</code>
Adding Model to New App
新しいアプリで移行を作成します:
<code class="python">python manage.py makemigrations new_app</code>
生成された移行ファイルを変更して次の内容を含めます:
<code class="python">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) ]</code>
これらの手順に従うことで、Django アプリ間でモデルをシームレスに移動でき、よりクリーンでより整理された移行ファイルを確保できます。データベース構造。
以上がDjango 1.7 を使用して Django アプリ間でモデルをシームレスに移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。