Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- richtext
- Python
- 추상클래스
- popupmenubutton
- 강원도속초맛집
- python3
- 부스트코스
- c언어문자열
- removetooltip
- 코딩독학
- BeautifulSoup
- JavaScript
- 남양주맛집
- 알고리즘
- 컴퓨터과학
- 상속
- 성수동카페
- DOM
- 정렬알고리즘
- 아스키코드
- 자바
- FLUTTER
- pipenv
- 포인터
- 가상환경
- 속초여행
- 장고
- Django
- 노마드코더
- 건대입구맛집
Archives
- Today
- Total
YUYANE
Django / Meta Class & Abstract Base Class 본문
Meta Class
Model metadata는 모델에서 필드가 아닌 것을 가리키며 Meta class를 통해 구현된다.
필수가 아닌 옵션으로 아래 링크에서 목록을 확인할 수 있다.
docs.djangoproject.com/ko/3.1/ref/models/options/
Abstract Base Class
- 여러가지 모델에서 공통으로 사용되는 정보가 있을 때 유용한 클래스
- 클래스의 Meta클래스에서 'abstract=True'라고 적음으로써 정의(abstract의 default 값은 False)
- 데이터베이스 테이블 생성에는 사용되지 않으나, 다른 클래스가 상속할 경우에 해당 크래스(child class)의 필드로 추가된다.
- manager 를 가지지 않고, 초기화되거나 직접적으로 저장될 수 없다.
- 코드 사용 예시
AbstractItem 클래스를 상속받은 RoomType 클래스는 한 가지 필드(name)를 가진다.
class AbstractItem(core_models.TimeStampedModel):
""" Abstract Item """
name = models.CharField(max_length=88)
class Meta:
abstract = True
class RoomType(AbstractItem):
""" RoomType Model Definition """
class Meta:
verbose_name_plural = "Room Types"
ordering = ['name']
참조
nomadcoders.co/airbnb-clone/nomadcoders.co/airbnb-clone/lobby
'Framework > DJANGO' 카테고리의 다른 글
Django / MEDIA_ROOT, MEDIA_URL (0) | 2021.02.24 |
---|---|
Django / Managers와 QuerySet (related_name) (0) | 2021.02.24 |
Django / ModelAdmin (0) | 2021.02.23 |
Django / ForeignKey 와 ManyToManyField (0) | 2021.02.23 |
Django / Model Field (0) | 2021.02.23 |
Comments