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

AeGin님의 프로필 이미지

작성한 질문수

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

커스텀 유저 지정 및 회원가입 구현

강의 18:30 부분에 커스텀으로 필수필드 설정하는 부분 질문입니다.

작성

·

262

1

안녕하세요. 지금 DRF까지 강의를 다 수강한 상태인데요. 기본 로직이랑 이런건 강사님 덕분에 많이 이해했습니다. 하지만 아직 오버라이딩 개념에 대해서 많이 부족합니다.

 

강의를 보면 추가할 로직들을 기존 메소드를 상속받아서 필요한 코드를 커스터마이징하시는데, 어떤 메소드를 상속해야하는지 그 기준에 대해서 잘 모르겠습니다.

 

해당 강의에서 필수필드를 지정할 때, init함수를 호출해서 특정 필드의 required 속성을 True로 지정하셨는데, init에서만 가능한건가요? 아니라면 다른 함수를 오버라이딩해서 가능한지 궁금합니다.

답변 1

1

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

안녕하세요.

ModelForm과 ModelSerializer는 지정된 Meta model/fields 속성을 통해, 내부적으로 form/serializer fields를 생성합니다. 내부적으로 생성하는 과정은 그 클래스의 생성자에서 이뤄지고 있습니다.

위 강의에서는 해당 ModelForm에서 생성한 form fields에 대해서 동작을 변경할려는 것이므로,

  1. 생성자를 오버라이딩해서, 부모의 생성자를 먼저 호출하여 form fields들을 먼저 생성한 후에

  2. 이어서 생성된 form fields들을 참조하여 변경한 것입니다.

생성자를 오버라이딩하는 것이 기능적으로 시기적으로 적합합니다. 다른 메서드를 적절하지 않은 듯 합니다.

또 살펴보시고 질문 남겨주세요.

질문에 감사드리고, 화이팅입니다. :-)

AeGin님의 프로필 이미지

작성한 질문수

질문하기