Djangoの管理クックブック-39 Djangoの管理者に2つのモデルを追加する方法

39.どのようにDjangoの管理者で同じ背景に2つのモデルを追加するには?

あなたは(一部のユーザーのみが読み取り専用ページを表示されることがあります)読み取り専用の使用など、日常的な管理と使用として、二つのモデル管理ヒーローの背景を追加する必要があります。

あなたは二度同じモデルを登録しようとした場合:

admin.site.register(Hero)
admin.site.register(Hero)

エラーを以下に示します。

raise AlreadyRegistered('The model %s is already registered' % model.__name__)

解決策は、ヒーローProxyModelモデルとエージェントモデル継承を使用することです。

# In models.py
class HeroProxy(Hero):
    class Meta:
        proxy = True
...
# In admin.py
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
    list_display = ("name", "is_immortal", "category", "origin", "is_very_benevolent")
    ....
@admin.register(HeroProxy)
class HeroProxyAdmin(admin.ModelAdmin):
    readonly_fields = ("name", "is_immortal", "category", "origin",
        ...)

目次に戻ります

おすすめ

転載: www.cnblogs.com/superhin/p/12192399.html