デフォルトでは、Django-adminにはユーザー、グループ、サイトのアプリがあります。グループとサイトを削除するにはどうすればよいですか?
ルートURLからadmin.autodiscover()
を削除しようとしました。次に、admin.site.register(User, UserAdmin)
のようなものをアプリモデルのどこかに追加すると、AlreadyRegistered
例外が発生しました(これはかなり正しいことです。モデルのユーザーは、Django.contrib.authにすでに登録されています)。
あなたが間違いなくロードされることを知っているadmin.pyで、試してください:
admin.site.unregister(User)
admin.site.unregister(Group)
admin.site.unregister(Site)
上記に加えて、「settings.py」の「INSTALLED_APPS」の注文を再確認してください
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'
]
そうしないと、エラーが発生します。ここを参照してください: Django admin with inline user profile adminの登録に関する問題 の問題
ユーザーとグループを削除するには、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)
あなたが得た場合:
Django.contrib.admin.sites.NotRegistered:モデルグループが登録されていません
次に、INSTALLED_APPSが次のような適切な順序になっていることを確認します。
enter code hereINSTALLED_APPS = (
# [1] Django apps
'Django.contrib.auth',
...
# [2] your custom apps
'anyproject.anytuff',
)
すべてのアプリをループし、アプリが登録したモデルを登録解除します。
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
...