Post 모델에 Datetime 필드 추가하기

Kangjik Kim·2025년 1월 8일
0

게시글은 각기 특정 날짜와 시간에 게시된다.

게시 날짜와 시간을 저장할 필드가 필요하다.

또한 Post 객체가 생성되고 마지막으로 수정된 날짜와 시간을 저장하려 한다.

blog의 models.py를 편집해보자.

from django.db import models
from django.utils import timezone

# Create your models here.
class Post(models.Model):
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=250)
    body = models.TextField()
    publish = models.DateTimeField(default=timezone.now)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    
    def __str__(self):
        return self.title
    
  • pubilsh
    • SQL DB의 DATETIME 컬럼으로 변환되는 DateTimeField이다.
    • 게시물이 게시된 날짜와 시간을 저장하는데 사용된다.
    • 쟝고의 timezone.now 메서드를 핆드의 기본 값으로 사용한다.
    • timezone.now는 시간대를 인식해 datetime을 반환한다.
    • datetime.now 메서드의 시간대 인식 버전으로 생각하면 된다.
  • created
    • DateTime 필드로 게시글이 생성된 날짜와 시간을 저장한다.
    • auto_now_add를 사용하면 객체를 생성할 때 날짜가 자동으로 저장된다.
  • updated
    • DateTime 필드로 게시글이 갱신된 마지막 날짜와 시간을 저장하는데 사용한다.
    • auto_now를 사용하면 객체를 저장할 때 날짜가 자동으로 갱신된다.

0개의 댓글