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.
Görev
Kolayexplore.py dosyasında, son print satırının üstüne:
Duneindirimde: fiyatını7.99olarak ayarla.Jane Austen'ın tüm kitaplarını tek bir sorguda okunmuş olarak işaretle.- 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")
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
2ORM ile Sorgulama
Satır OluşturmaAll ve GetFilter ve LookupsSatırları SaymaSatırları SıralamaUpdate ve DeleteKendi başına pratik yap: Django playground