Apabila pembangun Django berkembang, struktur projek pemfaktoran semula sering menjadi perlu untuk menambah baik organisasi dan kebolehselenggaraan. Ini termasuk mengalihkan model ke apl individu mereka sendiri untuk pengkapsulan yang lebih baik. Walau bagaimanapun, proses ini boleh menjadi menakutkan dalam versi Django yang lebih awal disebabkan oleh cabaran menangani kunci asing.
Dengan pengenalan migrasi dalam Django 1.7, memindahkan model antara aplikasi telah menjadi lebih terurus. Operasi SeparateDatabaseAndState membolehkan kami menamakan semula jadual model secara serentak sambil mengemas kini keadaannya dalam berbilang apl.
<code class="python">python manage.py makemigrations old_app --empty</code>
<code class="python">class Migration(migrations.Migration): dependencies = [] database_operations = [ migrations.RenameModel('TheModel', 'newapp_themodel') ] state_operations = [ migrations.DeleteModel('TheModel') ] operations = [ migrations.SeparateDatabaseAndState( database_operations=database_operations, state_operations=state_operations) ]</code>
<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>
Dengan mengikuti langkah ini, anda boleh berjaya berhijrah model antara apl dalam Django 1.7 dan lebih baharu, memastikan struktur projek yang bersih dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimana untuk Menghijrahkan Model Antara Apl Django dalam Django 1.7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!