Menu
CoddyTech

행 정렬하기

Coddy Django 여정의 모델과 관리자 섹션에 포함된 레슨. 23개 중 11번째.

가장 저렴한 책, 가장 최근 책, 제목을 오래된 순서대로 나열한 모든 책: 각각은 정렬에 관한 질문입니다. order_by()는 필드를 기준으로 하나의 QuerySet을 정렬하며, Meta의 ordering은 모든 QuerySet에 대해 그렇게 합니다. 마이너스 기호를 붙이면 큰 값에서 작은 값 순으로 정렬됩니다. first()는 첫 번째 행을 반환하고, 행이 없으면 None을 반환하므로 get()과 달리 예외를 발생시키지 않습니다.

Book.objects.order_by("-year").first()   # <Book: SPQR by Mary Beard>
Book.objects.order_by("-price").values_list("author", flat=True)
# <QuerySet ['Mary Beard', 'Umberto Eco', ...]>

values_list()는 Book 객체를 건너뛰고 한 필드의 값을 반환합니다. flat=True가 없으면 각 값은 ('Mary Beard',)처럼 항목이 하나인 튜플에 담깁니다.

challenge icon

챌린지

중급

explore.py를 다시 작성하여 두 줄을 출력하세요:

  1. Cheapest:와 가장 저렴한 책의 제목.
  2. Titles by year:와 모든 제목의 목록(가장 오래된 책부터).

Run을 누르세요. Console에 Cheapest: Pride and Prejudice와 Titles by year: ['Pride and Prejudice', 'Emma', ...]가 표시됩니다.

직접 해보기

from books.models import Book

# 1. 가장 저렴한 책: 가장 저렴한 책의 제목

# 2. 연도별 제목: 모든 책의 제목을 오래된 책부터 순서대로 나열한 리스트

모델과 관리자의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드