Создание записей
Часть раздела Модели и панель администратора путешествия по Django на Coddy. Урок 7 из 23.
На вашей книжной полке нужны новые книги, и вам никогда не придётся писать на SQL — языке баз данных: ORM Django преобразует вызовы Python в SQL. У каждой модели есть менеджер — Book.objects, через который можно обращаться к её таблице. В этой главе вы будете писать код 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:
- Добавь
Project Hail MaryавторстваAndy Weir, 2021 года, за12.99, в жанре научной фантастики — одним действием. - Добавь
Klara and the SunавторстваKazuo Ishiguro, 2021 года, за11.50, создав объектBookи сохранив его.
Нажми Run. В консоли появится 11 books on the shelf, а на вкладке Data будут перечислены две новые записи.
Попробуйте сами
from books.models import Book
# Добавьте сюда две книги.
print(Book.objects.count(), "books on the shelf")
Все уроки раздела Модели и панель администратора
2Запросы с помощью ORM
Создание записейAll и GetФильтрация и поискПодсчёт записейСортировка записейОбновление и удалениеПотренируйтесь самостоятельно: Песочница Django