블로그 게시글은 일반적으로 시간의 역순으로 표시된다.
쿼리에 순서가 지정되지 않은 경우, 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와 같이 하이픈을 사용해 내림차순을 표현한다.
게시물은 기본 값으로 게시된 시간의 역순으로 반환도리 것이다.