Python: Django ORM
Теория: Настройка Django ORM
Этот курс состоит из двух видов практик. Одна выполняется в редакторе Хекслета, другая — на собственном компьютере. Второй вид практики предполагает наличие настроенного Django-проекта, поскольку Django ORM является неотделимой частью фреймворка Django. Мы подготовили такой проект заранее. Вам будет необходимо склонировать к себе готовый репозиторий и проверить его работоспособность:
В качестве базы данных в этом проекте используется SQLite. Такой выбор никак не влияет на работу с ORM, но значительно упрощает настройку и запуск кода на выполнение. SQLite в отличие от больших СУБД, хранится в одном файле и работает напрямую из кода. Под неё не поднимается отдельное приложение в системе.
Основные части репозитория
В целом проект устроен примерно так же, как было описано в курсе по введению в Django. Ниже перечислены те части репозитория, которые касаются практик к данному курсу:
Makefile— набор команд для работы с проектомpython_django_orm_blog/— Python package, являющийся Django-проектомpython_django_orm_blog/settings.py— настройки Django-проектаpython_django_orm_blog/blog— единственное Django-приложение в рамках проектаpython_django_orm_blog/blog/models.py— здесь описаны модели приложения, с ними и предстоит работатьpython_django_orm_blog/blog/tests.py— здесь находятся тесты для приложения, их состав вы тоже будете пополнять
REPL (Django shell)
Лучший способ "поиграться" с кодом данного проекта — использовать shell_plus. У Django есть встроенная команда "shell", shell_plus из пакета django-extensions всего лишь делает её удобнее. В данном проекте в Makefile уже заведена соответствующая команда для запуска, можете смело выполнить make shell.
После запуска вы увидите привычный Python REPL, но при этом база данных окажется подключена и все модели из каждого приложения уже будут импортированы. Заодно shell_plus импортирует и большую часть инструментов из состава фреймворка. Таким образом вы сможете сразу начать работать с БД, а shell отобразит каждый SQL-запрос, который сформирует ORM — это очень удобно при отладке и оптимизации работы с базой данных.
В последующих уроках будет много примеров кода. Не забывайте запускать REPL и выполнять примеры в нём. Это поможет лучше разобраться с материалом и закрепить его на практике.


