Heim > Datenbank > MySQL-Tutorial > Wie migriere ich Modelle nahtlos zwischen Django-Apps mit Django 1.7?

Wie migriere ich Modelle nahtlos zwischen Django-Apps mit Django 1.7?

Barbara Streisand
Freigeben: 2024-11-04 20:33:02
Original
1061 Leute haben es durchsucht

How to Seamlessly Migrate Models Between Django Apps with Django 1.7?

Modelle zwischen Django-Apps mit Django 1.7 migrieren

Mit Django 1.7 ist die Verwaltung der Modellstruktur effizienter geworden. Angenommen, Sie haben Modelle in einer einzelnen App, die Sie an einzelne Apps verteilen müssen. So können Sie dies mit Django-Migrationen erreichen:

Modell aus alter App entfernen

  1. Erstellen Sie eine leere Migration in der alten App:

    <code class="python">python manage.py makemigrations old_app --empty</code>
    Nach dem Login kopieren
  2. Fügen Sie den folgenden Code zur generierten Migration hinzu Datei:

    <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>
    Nach dem Login kopieren

Modell zu neuer App hinzufügen

  1. Kopieren Sie das Modell in die model.py-Datei in der neuen App .
  2. Erstellen Sie eine Migration im neuen app:

    <code class="python">python manage.py makemigrations new_app</code>
    Nach dem Login kopieren
  3. Ändern Sie die generierte Migrationsdatei so, dass sie Folgendes enthält:

    <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>
    Nach dem Login kopieren

Durch Befolgen dieser Schritte können Sie nahtlos Verschieben Sie Ihre Modelle zwischen Django-Apps und sorgen Sie so für eine sauberere und besser organisierte Datenbankstruktur.

Das obige ist der detaillierte Inhalt vonWie migriere ich Modelle nahtlos zwischen Django-Apps mit Django 1.7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage