Урок 17. Практикум 2 (Django): Meta, Admin, Разрешения
⚡ Кратко: Практикум 2 — Django Meta, Admin Panel, Разрешения
18 задач на закрепление работы с моделями Django, классом Meta, настройкой Admin-панели, admin-действиями, группами разрешений и fixtures.
- Модели (задачи 1–3): Project → Task + choices + validators → Tag + M2M + due_date
- Admin (задачи 4, 6, 10): list_display, search_fields, list_filter, assignee
- Meta (задачи 7, 8, 11): ordering, verbose_name, unique_together
- Admin-действия (задачи 13–15): replace_spaces, change_status, change_priority
- Разрешения (задача 16): группы Manager / Client / Developer
- Fixtures (задача 18): dumpdata / loaddata для групп и пользователей
Топ-3 ошибки: 1) Забыть on_delete в ForeignKey. 2) Поле choices — значение должно совпадать с ключом. 3) ManyToManyField нельзя в list_display напрямую.
📖 О чём этот урок
Урок 17 — это практикум. Новый материал не вводится — цель урока закрепить на практике: определение моделей Django, настройку класса Meta, конфигурацию Admin-панели, создание admin-действий, управление группами разрешений и работу с fixtures.
Если что-то кажется незнакомым — загляни в Урок 16 (Модели Django) или Урок 15 (Практикум 1).
Что закрепляем
- Определение моделей: CharField, TextField, DateTimeField, FileField, ForeignKey, ManyToManyField
- Validators: MinLengthValidator, choices (статусы, приоритеты)
- Класс Meta: ordering, verbose_name, unique_together
- Admin-панель: list_display, search_fields, list_filter, property + short_description
- Admin-действия: custom actions, short_description, регистрация через actions
- Группы разрешений: Manager, Client, Developer в Django Admin
- Fixtures: dumpdata, loaddata для переноса данных
📚 Что повторить перед изучением
- ← Урок 16: Модели Django (углублённо)
- ← Урок 15: Практикум 1 — Django Models (Library)
- Типы полей Django: CharField, TextField, DateTimeField, ForeignKey, ManyToManyField
- Основы Django Admin: регистрация моделей, ModelAdmin
🎯 Что изучать дальше
- → Урок 18: Summary session 4
- Django ORM: QuerySet API, фильтрация, аннотации
- Custom User model, расширение базовой модели пользователя