Menu
CoddyTech

Создание записей

Часть раздела Модели и панель администратора путешествия по 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.

challenge icon

Задание

Легко

В 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")

Все уроки раздела Модели и панель администратора

Потренируйтесь самостоятельно: Песочница Django