📝 Задания — Урок 42
⚡ Быстрые вопросы для самопроверки
- Какой атрибут используется для получения текущего пользователя в DRF?
- Что делает метод
perform_create? - Какой метод проверяет права на уровне конкретного объекта?
- Какие 4 базовых разрешения создаются для каждой модели Django?
- Зачем нужны группы разрешений?
Блок 1: Получение пользователя из request
Вопрос 1
Какой атрибут используется для извлечения текущего аутентифицированного пользователя из запроса в DRF?
- request.auth
- request.user
- request.data
- request.user.is_authenticated
Вопрос 2
Что делает метод perform_create в представлении DRF?
- Удаляет объект
- Просто сохраняет объект
- Выполняет дополнительный код перед сохранением объекта
- Возвращает объект без сохранения
Вопрос 3
Как сделать так, чтобы поле owner не требовалось передавать в теле POST-запроса?
- Не включать поле в
fieldsсериализатора - Добавить поле в
read_only_fieldsсериализатора - Использовать
write_only=True - Добавить
required=Falseв поле
Блок 2: Разрешения на уровне объектов
Вопрос 4
Какой метод используется для проверки разрешений на уровне конкретного объекта в кастомном классе разрешений?
- has_permission
- has_object_permission
- check_permission
- validate_permission
Вопрос 5
Когда НЕ вызывается метод has_object_permission?
- При GET-запросе к одному объекту
- При PUT-запросе к объекту
- При GET-запросе к списку объектов (list)
- При DELETE-запросе к объекту
Вопрос 6
Что вернёт has_object_permission, если нужно разрешить доступ?
- None
- 1
- True
- "allowed"
Блок 3: Разрешения моделей
Вопрос 7
Какие четыре базовых разрешения автоматически создаются для каждой модели в Django?
- create, view, update, delete
- view, add, change, delete
- view, create, edit, delete
- view, add, edit, remove
Вопрос 8
Какую роль играют группы (Groups) в управлении разрешениями в Django?
- Упрощают администрирование и масштабируемость
- Улучшают производительность базы данных
- Снижают количество запросов к серверу
- Обеспечивают безопасность данных
Вопрос 9
Какой класс DRF использует разрешения, настроенные через Django Admin (view/add/change/delete)?
- IsAuthenticated
- IsAdminUser
- DjangoModelPermissions
- AllowAny
Вопрос 10
Какие классы разрешений позволяют контролировать доступ к ресурсам API в DRF? (выберите все подходящие)
- DjangoModelPermissions
- IsAuthenticated
- AllowAny
- Все вышеперечисленные