Menu
CoddyTech

Liczenie wierszy

Część sekcji Modele i panel administracyjny ścieżki Django w Coddy. Lekcja 10 z 23.

Aby sprawdzić, ile masz książek science fiction, możesz załadować je wszystkie i policzyć w Pythonie. Baza danych liczy szybciej. Każde z tych wywołań wykonuje jedno małe zapytanie i zwraca jedną odpowiedź:

Book.objects.filter(is_read=True).count()    # 1
Book.objects.filter(price__gt=20).exists()   # False
len(Book.objects.all())                      # 9, po wczytaniu wszystkich 9 wierszy

count() zwraca liczbę pasujących wierszy. exists() odpowiada True lub False: czy istnieje przynajmniej jeden? Obie metody umieszcza się na końcu QuerySet, po filter() lub exclude(). len() zwraca tę samą liczbę co count(), ale dopiero po załadowaniu wszystkich wierszy do Pythona, co jest powolne w przypadku dużej tabeli.

challenge icon

Wyzwanie

Łatwy

Przepisz explore.py, aby wypisać dwa wiersze:

  1. Science fiction: oraz liczbę książek science fiction.
  2. Any Tolkien: oraz informację, czy na półce znajduje się książka autorstwa J.R.R. Tolkien.

Naciśnij Run. W konsoli pojawi się Science fiction: 3 oraz Any Tolkien: True.

Spróbuj swoich sił

from books.models import Book

# 1. Science fiction: ile jest książek science fiction

# 2. Dowolna książka Tolkiena: czy na półce jest książka autorstwa J.R.R. Tolkiena
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Modele i panel administracyjny

Poćwicz samodzielnie: Edytor online Django