39. 어떻게 장고 관리자에서 같은 배경에 두 가지 모델을 추가?
당신은 (일부 사용자는 읽기 전용 페이지를 볼 수 있습니다) 읽기 전용 사용 등의 일상적인 관리 및 사용 등, 두 가지 모델 관리자 영웅 배경을 추가해야합니다.
당신은 두 번 같은 모델을 등록하려는 경우 :
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",
...)