Djnago MVT 중에 Model 부분이다. django는 자신만의 ORM을 가지고 있으면 이 부분은 DB와 밀접하게 연결된다. 사실 RDBMS를 배운 사람이면 보자마자 간편함을 느낄 수 있다.
Model field reference | Django documentation | Django
예제 양식을 보자 2021년 2월에 내가 작성하고 있는 코드이다.
from django.db import models
import uuid
HOMEWORK_CHECKED = [
('SUBMIT', 'Submit'),
('NOT_SUBMIT', 'Not_Submit'),
('LATE_SUBMIT', 'Late_Submit'),
]
class TimeStampModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
class Homework(TimeStampModel):
id = models.UUIDField(primary_key=True, default=uuid.uuid4())
name = models.CharField(max_length=50)
end_time = models.DateTimeField()
def __str__(self):
return '{}'.format(self.name)
공식 페이지를 보면 다양한 기능이 있지만, 기본적으로 다음과 같다.
class를 models.Model에 상속한 뒤에 클래스를 만든다.
클래스 이름이 table 이름이 되며, 그 부분의 클래스의 속성이 열의 이름을 담당한다.
기본적으로 RDBMS의 지식이 있으면 이런 테이블을 찾아서 볼 수 있다.
개인적으로 관심 있게 본 점은 클래스를 만들어서 상속을 할 수 있다는 점이다.