By default, in Django-admin there is Users, Groups, and Sites apps. How can I remove Groups and Sites?
I tried to remove admin.autodiscover()
from root
To get rid of Users and Groups I had to do in 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)
In addition to the above double check your ordering of "INSTALLED_APPS" in "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'
]
Otherwise it will cause an error. See here: Issue with Django admin registering an inline user profile admin
In an admin.py you know will definitely be loaded, try:
admin.site.unregister(User)
admin.site.unregister(Group)
admin.site.unregister(Site)
If you got:
django.contrib.admin.sites.NotRegistered: The model Group is not registered
Then make sure that your INSTALLED_APPS in proper order like this:
enter code hereINSTALLED_APPS = (
# [1] Django apps
'django.contrib.auth',
...
# [2] your custom apps
'anyproject.anytuff',
)
Loop through all apps, and unregister any models they have registered.
from django.apps import apps
# De-register all models from other apps
for app_config in apps.get_app_configs():
for model in app_config.get_models():
if admin.site.is_registered(model):
admin.site.unregister(model)
# Register only those models you want
...