Das liegt hauptsächlich daran, dass Django den letzten Teil an einigen Stellen als "app_label" -Eigenschaft verwendet.
Zum Beispiel kann someModel._meta.app_label
in einem Multi-Datenbank-Szenario verwendet werden, um zu entscheiden, in welcher Datenbank eine Modellinstanz gespeichert wird. Es wird auch für die Verwaltungsbefehle verwendet (Sie müssen "manage.py sqlall sites" anstelle von "django.contrib.sites" eingeben).
Wie umgehen Sie diese Einschränkung? Nun, ich denke, das Umbenennen von Apps sollte funktionieren, wenn die App nicht von ihrem Namen abhängig ist. Aber die meisten Apps verwenden den App-Namen in URLconf, zum Beispiel (patterns("appname.views", ...)
), das müsste auch geändert werden.
Aber im Ernst, warum sollte man zwei Apps mit dem gleichen Namen installieren? Wenn sie wirklich den gleichen Namen haben, haben sie normalerweise die gleiche Funktionalität (z. B. Apps, die "Paginierung" genannt werden), so dass es nicht notwendig ist, mehr als eine zu verwenden.
Es ist so, weil es auf Open-Source-, Freiwilligen-Projekt und die Zeit/Manpower wurde noch nicht gewidmet, um vollständig und richtig zu korrigieren, was ein bekannter Fehler ist. Es wurde bereits viel Zeit und Ressourcen für die Lösung dieses Problems aufgewendet, und es wird behoben werden. –