📝 Задания — Урок 42

← К оглавлению урока

⚡ Быстрые вопросы для самопроверки

  1. Какой атрибут используется для получения текущего пользователя в DRF?
  2. Что делает метод perform_create?
  3. Какой метод проверяет права на уровне конкретного объекта?
  4. Какие 4 базовых разрешения создаются для каждой модели Django?
  5. Зачем нужны группы разрешений?

Блок 1: Получение пользователя из request

Вопрос 1

Какой атрибут используется для извлечения текущего аутентифицированного пользователя из запроса в DRF?

  1. request.auth
  2. request.user
  3. request.data
  4. request.user.is_authenticated

Вопрос 2

Что делает метод perform_create в представлении DRF?

  1. Удаляет объект
  2. Просто сохраняет объект
  3. Выполняет дополнительный код перед сохранением объекта
  4. Возвращает объект без сохранения

Вопрос 3

Как сделать так, чтобы поле owner не требовалось передавать в теле POST-запроса?

  1. Не включать поле в fields сериализатора
  2. Добавить поле в read_only_fields сериализатора
  3. Использовать write_only=True
  4. Добавить required=False в поле

Блок 2: Разрешения на уровне объектов

Вопрос 4

Какой метод используется для проверки разрешений на уровне конкретного объекта в кастомном классе разрешений?

  1. has_permission
  2. has_object_permission
  3. check_permission
  4. validate_permission

Вопрос 5

Когда НЕ вызывается метод has_object_permission?

  1. При GET-запросе к одному объекту
  2. При PUT-запросе к объекту
  3. При GET-запросе к списку объектов (list)
  4. При DELETE-запросе к объекту

Вопрос 6

Что вернёт has_object_permission, если нужно разрешить доступ?

  1. None
  2. 1
  3. True
  4. "allowed"

Блок 3: Разрешения моделей

Вопрос 7

Какие четыре базовых разрешения автоматически создаются для каждой модели в Django?

  1. create, view, update, delete
  2. view, add, change, delete
  3. view, create, edit, delete
  4. view, add, edit, remove

Вопрос 8

Какую роль играют группы (Groups) в управлении разрешениями в Django?

  1. Упрощают администрирование и масштабируемость
  2. Улучшают производительность базы данных
  3. Снижают количество запросов к серверу
  4. Обеспечивают безопасность данных

Вопрос 9

Какой класс DRF использует разрешения, настроенные через Django Admin (view/add/change/delete)?

  1. IsAuthenticated
  2. IsAdminUser
  3. DjangoModelPermissions
  4. AllowAny

Вопрос 10

Какие классы разрешений позволяют контролировать доступ к ресурсам API в DRF? (выберите все подходящие)

  1. DjangoModelPermissions
  2. IsAuthenticated
  3. AllowAny
  4. Все вышеперечисленные

→ Посмотреть решения