Menu
CoddyTech

עדכון ומחיקה

חלק מהיחידה מודלים וממשק הניהול במסלול ה-Django של Coddy. שיעור 12 מתוך 23.

המחירים משתנים וספרים עוזבים את המדף. כדי לשנות ספר אחד, מגדירים את התכונה שלו וקוראים ל־save(); בלי save() הטבלה שומרת את הערך הישן. כדי לשנות כמה שורות בבת אחת, קוראים ל־update() על QuerySet. הפעולה מריצה UPDATE אחד ומחזירה כמה שורות השתנו. delete() פועלת באותו אופן ומחזירה כמה שורות היא מחקה, בסך הכול ולפי מודל:

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

שתיהן פועלות בדיוק על השורות שב־QuerySet, לכן יש לסנן תחילה. Book.objects.update(is_read=True) מסמנת את כל הספרים, ואף אחת מהשיטות אינה מבקשת אישור לפני ביצוע הפעולה.

challenge icon

אתגר

קל

ב־explore.py, מעל הפקודה האחרונה print:

  1. Dune במבצע: קבעו את המחיר שלו ל־7.99.
  2. סמנו את כל הספרים מאת Jane Austen כנקראו, בשאילתה אחת.
  3. מחקו את כל ספרי המסתורין, בשאילתה אחת.

לחצו על הרצה: במסוף מופיע 7 books on the shelf.

נסו בעצמכם

from books.models import Book

# 1. Dune במבצע: קבעו את מחירו ל-7.99.

# 2. סמנו כל ספר של Jane Austen כנקרא.

# 3. מסרו כל ספר מתח.

print(Book.objects.count(), "books on the shelf")
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה מודלים וממשק הניהול

תרגלו בעצמכם: Django אונליין