jm_p_op

django admin에서 필드 (어드민)상속받기 본문

py/django

django admin에서 필드 (어드민)상속받기

jm_p_op 2023. 5. 10. 13:29

범용성 좋은 방법

class CommonDisplayAdmin(admin.ModelAdmin):
    list_display=()
    list_display=()
    readonly_fields=()
    common_list_display=('created_at','updated_at',"show_status")
    common_fields =('created_at','updated_at',"show_status")
    common_readonly_fields = ('created_at','updated_at')
    def __init__(self, model: type, admin_site):
        self.fields+=self.common_fields
        self.list_display+=self.common_list_display
        self.readonly_fields+=self.common_readonly_fields
        super().__init__(model, admin_site)
class PetSitterReviewDisplay(CommonDisplayAdmin):
    fields=('writer','sitter','content','star')
    list_display=('writer','sitter','content','star')
    readonly_fields=('writer','sitter','content','star')

 

번외 방법 

class CommonDisplayAdmin(admin.ModelAdmin):
    list_display=('created_at','updated_at',"show_status")
    fields =('created_at','updated_at',"show_status")
    readonly_fields = ('created_at','updated_at')

class PetSitterReviewDisplay(CommonDisplayAdmin):
    def __init__(self, model: type, admin_site):
        self.fields=('writer','sitter','content','star')+self.fields
        self.list_display=('writer','sitter','content','star')+self.list_display
        super().__init__(model, admin_site)

 

class CommonDisplayAdmin(admin.ModelAdmin):
    list_display=('created_at','updated_at',"show_status")
    fields =('created_at','updated_at',"show_status")
    readonly_fields = ('created_at','updated_at')

class PetSitterReviewDisplay(CommonDisplayAdmin):

    
    def get_list_display(self, request: HttpRequest) -> Sequence[str]:
        return ('writer','sitter','content','star')+self.list_display
    def get_fields(self, request: HttpRequest,obj):
        return ('writer','sitter','content','star')+self.fields
    

    #list_display = ('writer','sitter','content','star')
    #fields =('writer','sitter','content','star')

'py > django' 카테고리의 다른 글

.py django password 동일한지 확인  (0) 2023.05.09
django-admin  (0) 2023.04.28
Django custumizing  (0) 2023.04.25
django simple jwt -db  (0) 2023.04.24
django, gitignore- migrations/ _initial.py 삭제  (0) 2023.04.19