Ich habe ein Problem, bei dem mehr als eine App versucht, denselben Verwaltungsbefehl in einem Django-Projekt zu überschreiben.
INSTALLED_APPS
oder die zuletzt definierte definiert wurde? Für den Kontext versuche ich django_pdb
(siehe github ) zu verwenden, um besser mit south
zu arbeiten. und django.contrib.staticfiles
.
2,5 Jahre später, aber falls jemand das gleiche Problem hat und nach einer Google-Suche hier landet, habe ich eine kleine Django-App erstellt, die sich mit diesem Fall befasst: django-mcmo ('Management Command Multiple Override'), verfügbar auf pypi . Es hat Einschränkungen, funktioniert aber wie erwartet.
Arbeiten mit django 1.4 bis 1.8 und py 2 und 3, willkommene Beiträge auf bitbucket repo .
Die einfachste Antwort, die ich kenne, ist: Strukturieren Sie Ihr Projekt so, dass Sie eines davon ändern und eine Aufzeichnung Ihrer Änderungen speichern können, damit Sie es auf zukünftige Versionen anwenden können.
Für meine Projekte habe ich gerne:
%Vor%Fügen Sie dann explizit / lib dem Pfad in setup.py
hinzu %Vor%Ich bin wahrscheinlich weit wahrscheinlicher als der Durchschnitt, eine App zu nehmen, sie zu installieren und dann 10% davon zu ändern, damit sie genau so funktioniert, wie ich es möchte.
Der Vorteil davon ist: 1) die meisten Abhängigkeiten werden mit dem Code geliefert und werden in GIT nachverfolgt. 2) keine Chance für eine systemweite Änderung, unerwartete Fehler in einer App zu verursachen, wenn Sie mehrere Apps von demselben Rechner aus ausführen ) Leicht zu ändern, mit Revisionshistorie, alles und alles in der App.
Wenn Sie nicht zu tief in die Verwaltungsbefehle von South eingedrungen sind und django_pdb nie benutzt haben, wird Ihr spezielles Problem möglicherweise nicht mit der Methode "Eine lokale Kopie erstellen und umbenennen" gelöst, aber ich teile es für den Fall / p>