안녕하세요?
이번 포스트에서는
django 프레임워크에서 views.py 파일에 아래와 같은 구문으로 object를 가져오는 경우가 있는데
#views.py
def index(request):
matching_article = Article.objects.all()
이렇게 조회를 해오면, 순서가 제가 원하는 순서대로 지정이 어려워서
이를 sorting 해주는 방법에 대해 알아보겠습니다.
order_by 구문 사용하기
저는 'published'라는 등록된 시간을 의미하는 칼럼을 기준으로
가장 최근에 등록된 포스트가 맨 위에 오도록 sorting 을 해주려고 합니다.
아래와 같이 order_by 구문을 추가해줄 수 있는데,
#views.py
def index(request):
matching_article = Article.objects.all()
matching_article = matching_article.order_by('published')
이렇게 입력하면 'published' 컬럼을 기준으로 오름차순으로 정렬이 되어서
맨 위에 가장 나중에 등록된 포스트가 옵니다.
제가 원하는 대로 하려면 이를 내림차순으로 바꿔줘야 하는데, 아래와 같이 입력하면 됩니다.
#views.py
def index(request):
matching_article = Article.objects.all()
matching_article = matching_article.order_by('-published')
이렇게 수정하고 조회하면
내림차순으로 조회되는 것을 확인할 수 있습니다!
Reference