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 wierszycount() 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.
Wyzwanie
ŁatwyPrzepisz explore.py, aby wypisać dwa wiersze:
Science fiction:oraz liczbę książek z gatunku science fiction.Any Tolkien:oraz informację, czy na półce znajduje się książka autorstwaJ.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
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