Урок 16. Работа с моделями Django (углублённо)

📁 Блок: Django ⏱️ Время изучения: ~60 мин 🎯 Сложность: Средняя
#django #models #fields #migrations #admin #orm

⚡ Кратко: Модели Django — поля, параметры, миграции, admin

Модель Django — класс, унаследованный от models.Model, описывающий таблицу БД. Поля — атрибуты класса, соответствующие столбцам.

  • Строковые: CharField, TextField, EmailField, SlugField, URLField
  • Числовые: IntegerField, DecimalField, FloatField, BigAutoField
  • Дата/время: DateField, DateTimeField, TimeField, DurationField
  • Связи: ForeignKey (on_delete обязателен!), ManyToManyField, OneToOneField
  • Параметры: null, blank, default, unique, choices, verbose_name, help_text, db_index

Ключевые команды:

  • python manage.py makemigrations — создать файл миграции
  • python manage.py migrate — применить миграции к БД
  • python manage.py createsuperuser — создать суперпользователя

Топ-3 ошибки: 1) Не указать on_delete для ForeignKey. 2) Перепутать null=True и blank=True. 3) Забыть makemigrations после изменения модели.

📖 О чём этот урок

Этот урок посвящён глубокому изучению моделей Django: типам полей, их параметрам, механизму миграций и работе с административной панелью. Материал основан на лекции «Работа с моделями Django» (Python Advanced, урок 15 по нумерации LMS).

Что изучим

  • Что такое модель Django и зачем она нужна
  • Механизм определения моделей и работы ORM
  • Полный список типов полей: строковые, числовые, дата/время, логические, связи, прочие
  • Общие параметры полей: null, blank, choices, default, unique, verbose_name, help_text, db_index, validators и другие
  • Создание и применение миграций: makemigrations, migrate, механизм таблицы django_migrations
  • Регистрация моделей в Django Admin, создание суперпользователя
  • Работа через Admin: страница списка, создания, редактирования

📚 Что повторить перед изучением

  • ← Урок 15: Practicum 1 — Django Models (Library Project)
  • Структура Django-проекта: settings.py, INSTALLED_APPS, manage.py
  • Базовые классы Python: наследование, атрибуты класса
  • Что такое реляционные БД: таблицы, строки, столбцы, первичный/внешний ключ

🎯 Что изучать дальше