django에서 models에서 데이터 생성 시간, 업데이트 시간을 기록하기 위해 create_at, updated_at 필드를 설정해 주는 경우가 자주 있었다. 이때 TimeStampedModel에 한 번만 필드를 지정해놓고 상속을 받아서 사용하면 정말 편하다. 두 가지 필드를 해당 모델들에 추가할 필요가 없고, 추가하지 않아서 발생하는 문제들을 방지할 수 있기 때문이다.
✍️ core/models.py (core 앱)
from django.db import models
class TimeStampedModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
✍️ question/models.py (question 앱)
from django.db import models
from core.models import TimeStampedModel
class Comment(TimeStampedModel):
TimeStampModel
을 상속 받았기 때문에 데이터가 생성될 때, 수정될 때의 시간이 기록된다.