Đếm hàng
Thuộc phần Model và trang quản trị trong hành trình Django của Coddy. Bài học 10 trên 23.
Để biết bạn sở hữu bao nhiêu cuốn sách khoa học viễn tưởng, bạn có thể tải tất cả chúng lên rồi đếm bằng Python. Cơ sở dữ liệu đếm nhanh hơn. Mỗi câu lệnh sau chạy một truy vấn nhỏ và trả về một câu trả lời duy nhất:
Book.objects.filter(is_read=True).count() # 1
Book.objects.filter(price__gt=20).exists() # False
len(Book.objects.all()) # 9, sau khi tải cả 9 hàngcount() trả về số hàng khớp. exists() trả về True khi có ít nhất một hàng khớp và False khi không có hàng nào khớp. Cả hai đều được dùng ở cuối QuerySet, sau filter() hoặc exclude(). len() cho kết quả giống count(), nhưng chỉ sau khi Python tải tất cả các hàng, việc này sẽ chậm nếu bảng lớn.
Thử thách
DễViết lại explore.py để in ra hai dòng:
Science fiction:và số sách khoa học viễn tưởng hiện có.Any Tolkien:và liệu có sách củaJ.R.R. Tolkientrên kệ hay không.
Nhấn Chạy: Console hiển thị Science fiction: 3 và Any Tolkien: True.
Tự làm thử
from books.models import Book
# 1. Khoa học viễn tưởng: có bao nhiêu cuốn sách khoa học viễn tưởng
# 2. Sách của Tolkien: trên kệ có cuốn sách nào của J.R.R. Tolkien không
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Model và trang quản trị
Tự luyện tập: Playground Django