본문 바로가기

개발/장고

[해설과 함께 읽는 Django 문서] Models - Meta Options, Model 속성들

반응형
Models_11

원문 링크

한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.

커스텀 필드 타입들

만약 존재하는 모델 필드들이 당신의 목적에 맞지 않거나, 덜 사용되는 데이터베이스 컬럼 타입 이용을 원할 때, 자기만의 필드 클래스를 생성할 수 있다. 자기만의 필드를 만드는 것은 커스텀 모델 필드 작성하기에서 모두 커버 가능하다


Meta 옵션들

다음과 같이 내부 클래스 Meta를 이용하여서 모델 메타 데이터를 제공한다

모델 메타데이터는 "필드가 아닌 아무 것들" 이다. 예를들면, 순서 옵션인(ordering), 데이터베이스 테이블 이름(db_table) 이나 사람이 읽을 수 있는 좋은 단수와 복수 이름들(verbose_name and verbose_name_plural). class Meta를 모델에 추가하는 것은 완벽히 선택적이고 어떤 것이 요구되지 않는다.

가능한 모든 Meta 옵션들은 모델 옵션 레퍼런스 에서 찾아볼 수 있다.


Model 속성들

objects

모델의 가장 중요한 속성은 Manager이다. 장고모델에 제공되는 쿼리 동작에 대한 인터페이스이고, 데이터베이스에서 인스턴스들을 검색하는데 사용된다. 만약 커스텀 Manager가 정의되지 않았다면, 기본 이름은 objects 이다. Manager들은 모델 인스턴스가 아닌, 모델 클래스들을 통해서 접근 가능하다


내 마음대로 해설

이번 파트 모두 중요한 내용들이였지만, 자세한 내용들에 대해서는 이 문서에서는 언급이 되지 않았다.

주요 내용은 모델 필드는 기존에 있는 것들을 써도 되지만, 필요하다면 새로 만들 수 있다는 것, 그리고 Meta는 필드를 제외한 나머지 모든 것들인데, 모델에서 완벽히 선택적으로 사용된다는 것이다. 필요하지 않으면 굳이 쓰지 않아도 된다. 마지막으로 Model attribute 중에 가장 중요한 것은 objects 이고 커스텀해서 사용할 수도 있으며, 쿼리동작을 위한 인터페이스로 사용 된다.

아마도 오늘의 내용들 모다는 위에 링크를 걸어준 링크에 직접적으로 해설할 것들이 많을 것 같다.

 

반응형