Урок 19. Модели и админ-панель. Работа с пользователями
⚡ Кратко: Django Admin + __str__ + Meta + пользователи
Три темы урока: 1) метод __str__ — читаемое отображение объектов; 2) класс Meta — метаданные модели; 3) Django Admin — настройка через ModelAdmin.
- __str__: возвращает строковое представление объекта модели
- Meta: db_table, ordering, verbose_name, unique_together, indexes, constraints
- ModelAdmin: list_display, search_fields, list_filter, ordering, fields, list_per_page
- Регистрация:
admin.site.register(Model, Admin)или@admin.register(Model) - Суперпользователь:
python manage.py createsuperuser
Топ-3 ошибки: 1) Не определить __str__ — объекты отображаются как "Book object (1)". 2) Использовать unique_together вместо UniqueConstraint. 3) Не зарегистрировать модель в admin.py.
📖 О чём этот урок
Этот урок посвящён расширенной работе с моделями Django и настройке административной панели. Материал основан на лекции «Модели и админ-панель» (Python Advanced, урок 17 по нумерации LMS).
Что изучим
- Метод
__str__: зачем нужен и как правильно определять - Класс
Meta: все основные атрибуты с примерами - Административная панель Django: создание класса ModelAdmin
- Атрибуты ModelAdmin: list_display, search_fields, list_filter, ordering, fields, list_per_page
- Два способа регистрации модели:
admin.site.registerи@admin.register
📚 Что повторить перед изучением
- ← Урок 18: Summary session 4
- Основы моделей Django: поля, типы, параметры — Урок 16
- Регистрация базовая:
admin.site.register(Model) - Создание суперпользователя:
python manage.py createsuperuser
🎯 Что изучать дальше
- → Урок 20: Практикум 5 — Django на практике
- Inline-формы в Admin: TabularInline, StackedInline
- Кастомные действия (actions) в Admin
- Django ORM: QuerySet API, filter(), annotate(), aggregate()