Django Südkreisabhängigkeit

8

Ich habe eine App (nennen wir sie MyApp) in einem Django 1.5-Projekt. MyApp definiert ein benutzerdefiniertes Benutzermodell (MyUser). Das Projekt verwendet eine andere App (AnotherApp), die auf MyUser verweist. MyApp verweist auf Felder in AnotherApp.

Auf meinem Entwicklungs-Laptop hat alles gut funktioniert. Ich versuche, mein Projekt auf einem Server bereitzustellen, und wenn ich zum Migrationsschritt komme, scheitert MyApp aufgrund einer Abhängigkeit von AnotherApp, und AnotherApp schlägt bei einer Abhängigkeit von MyApp fehl (ich habe versucht, die Apps unabhängig zu migrieren). Beide versagen bei ihren ersten Migrationen (0001).

%Vor%

Irgendwelche Ideen?

    
askvictor 17.07.2013, 22:40
quelle

1 Antwort

11

Es scheint hier eine echte zirkuläre Abhängigkeit zu geben. Sie können es jedoch leicht brechen: Verschieben Sie die Erstellung der M2M-Tabelle in MyApp auf eine separate Migration. Der einfachste Weg ist wahrscheinlich, 0001.initial.py in einen neuen Namen zu kopieren, dann die Blöcke für die m2m-Tabelle (vorwärts und rückwärts!) Im Original zu entfernen und alles andere in der Kopie zu entfernen.

Die Kopie sollte so benannt werden, dass sie zwischen 0001_initial und 0002_whatever - sprich 0001_initial2.py; und es sollte davon abhängen ("AnotherApp", "0001_initial") - was wiederum davon abhängen sollte ("MyApp", "0001_initial").

    
Shai Berger 17.07.2013, 23:13
quelle

Tags und Links