Memperbarui dan Menghapus
Termasuk bagian Model dan Admin dalam perjalanan Django di Coddy. Pelajaran 12 dari 23.
Harga berubah dan buku bisa tidak lagi tersedia di rak. Untuk mengubah satu buku, atur atributnya lalu panggil save(); tanpa save(), tabel tetap menyimpan nilai lama. Untuk mengubah banyak baris sekaligus, panggil update() pada QuerySet. Perintah ini menjalankan satu UPDATE dan mengembalikan jumlah baris yang berubah. delete() bekerja dengan cara yang sama dan mengembalikan jumlah baris yang dihapus, secara keseluruhan dan per model:
Book.objects.filter(year__lt=1900).update(price="5.00") # 2
Book.objects.filter(price__gt=14).delete() # (1, {'books.Book': 1})Keduanya hanya bekerja pada baris yang ada di QuerySet, jadi lakukan filter terlebih dahulu. Book.objects.update(is_read=True) menandai setiap buku, dan kedua method tidak meminta konfirmasi sebelum bertindak.
Tantangan
MudahDi explore.py, di atas print terakhir:
Dunesedang diskon: tetapkan harganya menjadi7.99.- Tandai setiap buku karya
Jane Austensebagai sudah dibaca, dalam satu query. - Hapus setiap buku misteri, dalam satu query.
Tekan Jalankan. Console menampilkan 7 books on the shelf, dan tab Data menunjukkan Dune dengan harga 7.99 dan tanpa buku misteri.
Coba sendiri
from books.models import Book
# 1. Dune sedang diskon: atur harganya menjadi 7.99.
# 2. Tandai semua buku karya Jane Austen sebagai sudah dibaca.
# 3. Berikan semua buku misteri kepada orang lain.
print(Book.objects.count(), "books on the shelf")
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Model dan Admin
2Membuat query dengan ORM
Membuat BarisAll dan GetFilter dan LookupMenghitung BarisMengurutkan BarisMemperbarui dan MenghapusLatihan sendiri: Playground Django