יצירת רשומות
חלק מהיחידה מודלים וממשק הניהול במסלול ה-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.
אתגר
קלב־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 אונליין