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 wczytać je wszystkie i policzyć w Pythonie. Baza danych policzy je szybciej. Każde z tych wywołań wykonuje jedno małe zapytanie i zwraca pojedynczą odpowiedź:

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

count() zwraca liczbę pasujących wierszy. exists() zwraca True, gdy pasuje co najmniej jeden wiersz, i False, gdy nie pasuje żaden. Obie metody stosuje się na końcu QuerySet, po filter() lub exclude(). len() zwraca tę samą liczbę co count(), ale dopiero po wczytaniu 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 z gatunku science fiction.
  2. Any Tolkien: oraz informację, czy na półce znajduje się książka autorstwa J.R.R. Tolkien.

Naciśnij „Uruchom”: konsola wyświetli Science fiction: 3 i Any Tolkien: True.

Spróbuj swoich sił

from books.models import Book

# 1. Fantastyka naukowa: ile jest książek z gatunku fantastyki naukowej

# 2. Czy jest coś Tolkiena: czy na półce znajduje się 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