Tạo 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 7 trên 23.
Kệ sách của bạn cần thêm sách mới, và bạn sẽ không bao giờ phải viết SQL, ngôn ngữ mà cơ sở dữ liệu sử dụng. Mỗi model đều có Book.objects, trình quản lý của model đó: các phương thức của nó đọc và ghi vào bảng. ORM (bộ ánh xạ đối tượng - quan hệ) của Django chuyển những lời gọi đó thành SQL. Trong chương này, bạn viết code ORM trong explore.py. Nút Chạy thêm chín cuốn sách, rồi chạy tệp như lệnh python manage.py shell < explore.py sẽ làm, và nội dung được in ra sẽ hiển thị trong Console.
Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")create() tạo một hàng và lưu hàng đó trong một bước; trường bạn bỏ qua sẽ nhận giá trị mặc định. Cách tương tự nhưng gồm hai bước, có thay đổi ở giữa:
silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()Trước khi chạy save(), đối tượng chỉ tồn tại trong Python và id của nó là None.
Thử thách
DễTrong explore.py, thêm hai cuốn sách phía trên print.
- Dùng
create():Project Hail MarycủaAndy Weir, năm2021, giá12.99, thể loại khoa học viễn tưởng. Lưu giá trị của thể loại làscifi, không phải nhãn của nó; lấy giá trị này từ lớpGenre. - Tạo một
Bookrồi gọisave():Klara and the SuncủaKazuo Ishiguro, năm2021, giá11.50.
Nhấn Chạy: Console hiển thị 11 books on the shelf.
Tự làm thử
from books.models import Book
# Thêm hai cuốn sách vào đây.
print(Book.objects.count(), "books on the shelf")
Tất cả bài học trong Model và trang quản trị
Tự luyện tập: Playground Django