2010-02-26 80 views
37

默认情况下,在Django-admin中有用户,组和网站应用程序。我如何删除群组和网站?从Django-admin删除默认应用程序

我试图从根URL中删除admin.autodiscover()。然后,当我在我的应用程序模型的某处添加了像admin.site.register(User, UserAdmin)之类的东西时,我得到了一个AlreadyRegistered异常(这是相当正确的 - 模型用户已在django.contrib.auth中注册)。

回答

74

在你知道肯定会被载入一个admin.py,尝试:

admin.site.unregister(User) 
admin.site.unregister(Group) 
admin.site.unregister(Site) 
+33

您需要将其导入(或我做了): 从django.contrib.sites .models从django.contrib.auth.models导入站点 import * – Vernon 2010-08-16 11:47:59

3

除了上述双重检查你的 “INSTALLED_APPS” 的顺序在 “settings.py”

INSTALLED_APPS = [ 
    # django apps first 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 

    # custom apps below 
    'my_app' 
] 

否则会导致错误。在这里看到:Issue with Django admin registering an inline user profile admin

1

为了摆脱用户和组的我曾在admin.py做:

from django.contrib import admin 
# Need to import this since auth models get registered on import. 
import django.contrib.auth.admin 
import django.contrib.auth.models 
from django.contrib import auth 

admin.site.unregister(auth.models.User) 
admin.site.unregister(auth.models.Group)