인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

sunnnwo님의 프로필 이미지
sunnnwo

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

03-05 admin 앱을 통한 Song 데이터 관리

cover_image_tag(self) 부분 질문이 있습니다.

작성

·

40

0

안녕하세요 강사님.

인자로 받는 self는 그 c++의 this 포인터 같은 개념으로 보면 될까요, 그리고 list_display 안에 cover_image를 cover_image_tag로 바꿨는데 처음에 cover_image는 같은 클래스(SongAdmin)에 있는 함수라 list_display에서 사용가능한거고, cover_image_tag는 models 파일 안에 Song 클래스 안에 있는 함수라 list_display에서 사용이 가능한걸까요?

 

감사합니다.

답변 1

1

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

말씀하신 대로 파이썬 클래스에서 self 는 java나 c++의 this와 같은 역할입니다. java나 c++에서는 this를 암시적으로 받지만, python에서는 명시적으로 전달받도록 되어있습니다. self 는 우리가 메서드 호출 시에 직접 지정하지는 않구요. 인스턴스를 통한 메서드 호출에서는, 자동으로 self에 현재 인스턴스가 지정됩니다.

image.png

그리고, ModelAdmin의 list_display 속성에 지정한 이름에서

  • 우선순위가 ModelAdmin 클래스 내의 메서드에서 먼저 찾아보고 있다면 호출해서 사용하구요.

  • ModelAdmin 클래스 내에 해당 이름의 메서드가 없다면, 관련 모델의 메서드에서 찾습니다.

ModelAdmin 클래스가 1순위이고, Model 클래스가 2순위입니다.

화이팅입니다. :-)

 

sunnnwo님의 프로필 이미지
sunnnwo
질문자

친절한 답변 감사합니다!

sunnnwo님의 프로필 이미지
sunnnwo

작성한 질문수

질문하기