使用 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>
將模型加入新應用
在新應用程式中建立遷移:
<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中文網其他相關文章!