Django Sites Framework: Anfangsspeicherort der Datenmigration

Vor Django 1.7, wenn das @ verwendet wiDjango Sites Framework man könnte / sollte die Anfangsdaten mit @ definierInitial Fixtures.

myproject / fixtures / initial_data.json
[
{
    "pk": 1, 
    "model": "sites.site", 
    "fields": {
        "domain": "domain1", 
        "name": "name1"
    }
},
{
    "pk": 2, 
    "model": "sites.site", 
    "fields": {
        "domain": "domain2", 
        "name": "name2"
    }
},
{
    "pk": 3, 
    "model": "sites.site", 
    "fields": {
        "domain": "domain3", 
        "name": "name3"
    }
}
]

Da es sich um eine globale Projekteinstellung handelt, habe ich dem Projektstamm einen Ordner "fixtures" hinzugefügt und ihn zu FIXTURE_DIRS hinzugefügt.

# Used to search fixture files directories.
# Fixture files are files that provide initial data to be
# inserted in the database. (>python manage.py loaddata)

    FIXTURE_DIRS = [
        os.path.join(PROJECT_ROOT, "fixtures"),
    ]

Jetzt benutze ich Django 1.7, und es wird empfohlen, @ zu verwend migrations. Zitiert Django Dokumentation:

Um den richtigen Namen und die richtige Domäne für Ihr Projekt festzulegen, können Sie eine Datenmigration verwenden.

Das Problem istMigrationen sind app-spezifisch:

python manage.py makemigrations - Leer deinAppname

Was ist der empfohlene Ansatz, um die Site-Informationen mithilfe einer Datenmigration zu meinem Projekt hinzuzufügen? Wo soll diese Migration leben?

Laufenpython manage.py makemigrations --empty sites erstellt die Migration im App-Ordner eines Drittanbieters, daher möchten wir das nicht.

Sollte es nicht möglich sein, ein MIGRATION_DIRS als FIXTURE_DIRS für die initial_data zu definieren?

Ich fand MIGRATION_MODULES in der Einstellungsdokumentation, aber das Problem bleibt bestehen, es ist app-spezifisch.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage