1. ホーム
  2. django

[解決済み] Djangoの管理画面、モデルを隠す

2023-01-13 03:02:01

質問

登録されたモデルが表示される管理サイトのルートページで、Djangoの管理画面に登録されているいくつかのモデルを非表示にしたいです。

それらの登録を直接解除すると、新規追加マーク "+"が消えてしまい、新しいレコードを追加することができません。

どうすればよいのでしょうか。

どのように解決するのですか?

ベースとなるのは x0nixの回答 私はいくつかの実験をしました。から空のdictを返すようです。 get_model_perms から空のdictを返すと、index.htmlからモデルが除外され、一方でインスタンスを直接編集することができるようになるようです。

class MyModelAdmin(admin.ModelAdmin):
    def get_model_perms(self, request):
        """
        Return empty perms dict thus hiding the model from admin index.
        """
        return {}

admin.site.register(MyModel, MyModelAdmin)