आप मॉडल की admin.site._registry
dict उपयोग कर सकते हैं> ModelAdmin:
>>> ./manage.py shell
In [1]: from urls import * # load admin
In [2]: from django.contrib import admin
In [3]: admin.site._registry
Out[3]:
{django.contrib.auth.models.Group: <django.contrib.auth.admin.GroupAdmin at 0x22629d0>,
django.contrib.auth.models.User: <django.contrib.auth.admin.UserAdmin at 0x2262a10>,
django.contrib.sites.models.Site: <django.contrib.sites.admin.SiteAdmin at 0x2262c90>,
testapp.models.Up: <django.contrib.admin.options.ModelAdmin at 0x2269c10>,
nashvegas.models.Migration: <nashvegas.admin.MigrationAdmin at 0x2262ad0>}
यही तो व्यवस्थापक सूचकांक दृश्य करता है:
@never_cache
def index(self, request, extra_context=None):
"""
Displays the main admin index page, which lists all of the installed
apps that have been registered in this site.
"""
app_dict = {}
user = request.user
for model, model_admin in self._registry.items():
# ...
ध्यान दें कि एक अंडरस्कोर के साथ उपसर्ग चर संभावित परिवर्तन के अधीन हैं django के भविष्य के संस्करणों में।
क्या आपको पता है कि कोई ऐप है, वास्तविक ऐप प्राप्त करने के लिए जिसमें उपयोगकर्ता व्यवस्थापक है? यदि यह दासबोर्ड है तो यह कोई ऐप नहीं देता है, लेकिन दूसरों के लिए यह सभी लेबल या ऑब्जेक्ट देता है। मैं इसे अपने व्यवस्थापक वैश्विक मेनू में templatetag के रूप में उपयोग करना चाहता हूं। – tunarob
मुझे समझ में नहीं आता, क्या आप एक और सवाल खोल सकते हैं और अधिक जानकारी दे सकते हैं? – jpic