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ın; save() olmadan tablo eski değeri korur. Birden çok satırı aynı anda değiştirmek için bir QuerySet üzerinde update() çağırın. Tek bir UPDATE çalıştırır ve değiştirilen satır sayısını döndürür. delete() de aynı şekilde çalışır ve sildiği 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})

İkisi de tam olarak QuerySet’in satırları üzerinde işlem yapar; bu yüzden önce filtre uygulayın. Book.objects.update(is_read=True) tüm kitapları işaretler ve bu yöntemlerin ikisi de işlem yapmadan önce sormaz.

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'ın tüm kitaplarını tek bir sorguda okunmuş olarak işaretle.
  3. Tüm gizem kitaplarını tek bir sorguda sil.

Çalıştır'a bas: Konsol, 7 books on the shelf yazar.

Kendin dene

from books.models import Book

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

# 2. Jane Austen'ın yazdığı her kitabı 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