Post 모델의 기본 순서 정의하기

Kangjik Kim·2025년 1월 8일
0

블로그 게시글은 일반적으로 시간의 역순으로 표시된다.

쿼리에 순서가 지정되지 않은 경우, DB에서 객체를 가져올 때 기본 순서로 적용된다.

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)
    
    class Meta:
        ordering = ['-publish']
    
    def __str__(self):
        return self.title
    

모델 내부에 Meta 클래스를 추가했다.

이 클래스는 모델에 대한 메타데이터를 정의한다.

ordering 속성을 사용해 쟝고에 publish 필드를 사용해 결과를 정렬하라고 지시한다.

-publish와 같이 하이픈을 사용해 내림차순을 표현한다.

게시물은 기본 값으로 게시된 시간의 역순으로 반환도리 것이다.

0개의 댓글