-
class MetaBackend/Django 2023. 9. 18. 18:32
class Meta
django Model에 metadata를 추가하는 기능을 제공. (metadata: 데이터를 설명하는 데이터, 또는 데이터를 목적에 따라 재구성한 데이터)
사용자가 직접 추가하는 Model의 속성(필드)은 매 번 바뀔 수밖에 없다. 그러나 Model의 속성들을 '정렬(ordering)' 하거나, 'DB Table의 이름(db_table)'을 짓거나 어떤 속성의 '복수형 표현(verbose_name, verbose_name_plural)'을 지정하거나 하는 등 일부 사용법들은 대부분의 Model에서 필요하다.
이처럼 Model을 관리할 때 공통적으로 필요한 사용법들의 구체적인 방식을 지정하도록 해주는 것이 class Meta이다. (..라고 나는 이해했다.)
자주 쓰이는 Meta options
ordering: Model 객체의 리스트를 가져올 때, 그 리스트 요소들의 정렬 기준.
ordering = ["field_name1", "field_name2"] # field_name은 Model 에 이미 선언된 변수명(속성) # 역순으로 정렬할 때에는 하이픈('-')을 앞에 붙여주면 된다. -field_name
ordering 의 값으로는 튜플, 리스트, 문자열, query 표현식 이 올 수 있다.
db_table: DB Table 생성 시 붙일 이름.
verbose_name: Model 객체의 단수형을 의미하는 문자열. default는 CamelCase를 따르는 Model 클래스 이름을 camel case 처럼 자동으로 변환한 값. ex) class Fruit -> 기본 verbose_name : fruit
vervose_name_plural: Model 객체의 복수형을 의미하는 문자열. default는 verbose_name + 's' 형태
'Backend > Django' 카테고리의 다른 글
VS Code에서 Django Debug 설정 (0) 2023.10.15 PyCharm에서 Django 디버그 모드 활성화하기 (0) 2023.10.10 django 입문(5) Model 3) DB에 Table 생성 (0) 2023.09.17 django 입문(5) Model 2) 추가 기능 (0) 2023.09.17 django 입문 (7) 템플릿 파일 (0) 2023.08.02