Menu
CoddyTech

Update ve Delete

Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 12 / 23.

Fiyatlar değişir ve kitaplar raftan kalkar. Tek bir kitabı değiştirmek için özniteliğini ayarlayıp save() çağır; save() olmadan tablo eski değeri korur. Aynı anda birçok satırı değiştirmek için bir QuerySet üzerinde update() çağır. Bu, tek bir UPDATE sorgusu çalıştırır ve değişen satır sayısını döndürür. delete() de aynı şekilde çalışır ve silinen satır sayısını hem toplamda hem de modele göre döndürür:

Book.objects.filter(year__lt=1900).update(price="5.00")   # 2
Book.objects.filter(price__gt=14).delete()   # (1, {'books.Book': 1})

Her ikisi de tam olarak QuerySet'teki satırlarda işlem yapar; bu yüzden önce filtre uygula. Book.objects.update(is_read=True) tüm kitapları işaretler ve her iki yöntem de işlem yapmadan önce onay istemez.

challenge icon

Görev

Kolay

explore.py dosyasında, son print satırının üstüne:

  1. Dune indirimde: fiyatını 7.99 olarak ayarla.
  2. Jane Austen tarafından yazılan her kitabı tek bir sorguda okunmuş olarak işaretle.
  3. Her gizem kitabını tek bir sorguda sil.

Run düğmesine bas. Console'da 7 books on the shelf yazar; Data sekmesinde ise Dune'un fiyatı 7.99 olarak görünür ve gizem kitabı kalmaz.

Kendin dene

from books.models import Book

# 1. Dune indirimde: fiyatını 7.99 olarak ayarla.

# 2. Jane Austen'ın yazdığı tüm kitapları okundu olarak işaretle.

# 3. Tüm polisiye kitapları başkalarına ver.

print(Book.objects.count(), "books on the shelf")
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Modeller ve Yönetim Paneli bölümündeki tüm dersler

Kendi başına pratik yap: Django playground