Создание записей
Часть раздела Модели и панель администратора путешествия по 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.
Нажми «Запустить»: в консоли появится 11 books on the shelf.
Попробуйте сами
from books.models import Book
# Добавьте сюда две книги.
print(Book.objects.count(), "books on the shelf")
Все уроки раздела Модели и панель администратора
2Запросы с помощью ORM
Создание записейAll и GetФильтрация и поискПодсчёт записейСортировка записейОбновление и удалениеПотренируйтесь самостоятельно: Песочница Django