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 wierszycount() 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.
Wyzwanie
ŁatwyPrzepisz explore.py, aby wypisać dwa wiersze:
Science fiction:oraz liczbę książek science fiction.Any Tolkien:oraz informację, czy na półce znajduje się książka autorstwaJ.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
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
2Odpytowanie za pomocą ORM
Tworzenie wierszyWszystkie i pobieranieFiltrowanie i wyszukiwanieLiczenie wierszySortowanie wierszyAktualizowanie i usuwaniePoćwicz samodzielnie: Edytor online Django