Menu
CoddyTech

행 개수 세기

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

보유한 공상과학 책이 몇 권인지 알고 싶다면 책을 모두 불러와 Python에서 셀 수 있습니다. 데이터베이스가 더 빠르게 셉니다. 다음은 각각 간단한 쿼리 하나를 실행하고 답 하나를 가져옵니다.

Book.objects.filter(is_read=True).count()    # 1
Book.objects.filter(price__gt=20).exists()   # False
len(Book.objects.all())                      # 9, 9개 행을 모두 불러온 후

count()는 조건에 맞는 행의 수를 반환합니다. exists()는 조건에 맞는 행이 하나 이상 있으면 True를, 하나도 없으면 False를 반환합니다. 두 메서드 모두 filter() 또는 exclude() 뒤에 QuerySet의 끝에 사용합니다. len()은 count()와 같은 수를 반환하지만, 모든 행을 Python으로 가져온 다음에만 반환하므로 큰 테이블에서는 느립니다.

challenge icon

챌린지

쉬움

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

  1. Science fiction:과 공상 과학 책의 권수를 출력하세요.
  2. Any Tolkien:과 J.R.R. Tolkien의 책이 책장에 있는지 여부를 출력하세요.

실행을 누르세요. 콘솔에 Science fiction: 3과 Any Tolkien: True가 표시됩니다.

직접 해보기

from books.models import Book

# 1. 공상과학 소설: 공상과학 소설책이 몇 권 있는지

# 2. Tolkien의 책: J.R.R. Tolkien이 쓴 책이 책장에 있는지
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

모델과 관리자의 모든 레슨

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