Как задокументировано здесь вы можете создать пользовательский AdminSite
и переопределить метод get_urls
. Этот простой код должен работать:
В вашем common.admin.py
from django.contrib.admin import AdminSite
class MyAdminSite(AdminSite):
def get_urls(self):
urlpatterns = super().get_urls()
for model, model_admin in self._registry.items():
urlpatterns += [
path('%s/' % (model._meta.model_name), include(model_admin.urls)),
]
return urlpatterns
my_admin = MyAdminSite('My Admin')
my_admin.register(YourModel)
...
Обратите внимание, что вы регистрируете свои модели с новым пользовательским экземпляром AdminSite
.
Тогда в ваших проектах urls.py
from common.admin import my_admin as admin
from django.urls import path
urlpatterns = [
path('admin/', admin.urls),
# Your other patterns
]