Menu
CoddyTech

יצירת רשומות

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

המדף שלך זקוק לספרים חדשים, ולעולם לא תכתוב SQL, השפה שבסיסי נתונים מדברים. לכל מודל יש Book.objects, המנהל שלו: המתודות שלו קוראות מהטבלה וכותבות אליה. ORM של Django (ממפה אובייקטים-יחסיים) הופך את הקריאות האלה ל-SQL. בפרק הזה תכתוב קוד ORM בקובץ explore.py. הפעלה מוסיפה תשעה ספרים, ואז מריצה את הקובץ כפי שהפקודה python manage.py shell < explore.py הייתה עושה, ומה שהיא מדפיסה מופיע במסוף.

Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")

create() בונה שורה ושומר אותה בצעד אחד; שדה שלא תציין מקבל את ערך ברירת המחדל שלו. כך עושים את אותו הדבר בשני צעדים, עם שינוי ביניהם:

silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()

עד ש-save() פועלת, האובייקט קיים רק ב-Python וה-id שלו הוא None.

challenge icon

אתגר

קל

ב־explore.py, מעל ל־print, הוסף שני ספרים.

  • באמצעות create(): Project Hail Mary מאת Andy Weir, שנת 2021, מחיר 12.99, מדע בדיוני. שמור את ערך הז׳אנר, scifi, ולא את התווית שלו; קח אותו ממחלקת Genre שלך.
  • על ידי יצירת Book וקריאה ל־save(): Klara and the Sun מאת Kazuo Ishiguro, שנת 2021, מחיר 11.50.

לחץ על Run: במסוף מופיע 11 books on the shelf.

נסו בעצמכם

from books.models import Book

# הוסיפו כאן את שני הספרים.


print(Book.objects.count(), "books on the shelf")

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

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