📝 Задания — Урок 36
⚡ О заданиях
24 вопроса из лекции по трём темам: мягкое удаление (3 вопроса), ленивая загрузка (8 вопросов), транзакции (11 вопросов). Смотри ответы в Решениях.
Блок 1: Мягкое удаление
Вопрос 1
Какие поля модели принято использовать для указания мягкого удаления записи?
- is_deleted
- deleted_at
- deleted_flag
- removed
Вопрос 2
Какой метод модели переопределяется для реализации мягкого удаления?
- save
- update
- delete
- remove
Вопрос 3
Какой класс наследуется для изменения управления запросами в модели?
- models.QuerySetManager
- models.SoftDeleteManager
- models.DeleteManager
- models.Manager
Блок 2: Ленивая загрузка
Вопрос 4
Какой атрибут в настройках Django включает отладочный режим, позволяющий видеть SQL-запросы в консоли?
- LOGGING
- DEBUG
- DEBUG_SQL
- LOG_LEVEL
Вопрос 5
Что означает термин «ленивая загрузка» (lazy loading) в контексте Django ORM?
- Автоматическое выполнение запросов к базе данных при старте приложения
- Задержка выполнения запросов к базе данных до момента, когда данные действительно понадобятся
- Постоянное выполнение запросов к базе данных при каждом доступе к модели
- Выполнение запросов к базе данных только во время миграций
Вопрос 6
Какой метод используется для предварительной загрузки связанных объектов с использованием SQL JOIN?
- filter_related
- select_related
- join_related
- prefetch_related
Вопрос 7
Какой метод используется для предварительной загрузки связанных объектов с использованием отдельных запросов?
- filter_related
- select_related
- join_related
- prefetch_related
Вопрос 8
Что произойдёт при попытке доступа к данным, если QuerySet ещё не был выполнен?
- Данные будут доступны немедленно
- Произойдёт ошибка выполнения
- Будет выполнен фактический запрос к базе данных
- Данные будут кешированы без выполнения запроса
Вопрос 9
Какой метод следует использовать для оптимизации запросов при доступе к ManyToManyField или обратным отношениям?
- select_related
- prefetch_related
- filter_related
- join_related
Вопрос 10
Какой класс используется для записи логов в файл в настройках логирования Django?
- FileLogHandler
- StreamLogHandler
- FileHandler
- StreamHandler
Вопрос 11
Какой уровень логирования следует использовать для записи всех SQL-запросов?
- INFO
- DEBUG
- WARNING
- ERROR
Блок 3: Транзакции
Вопрос 12
Какой принцип транзакции обеспечивает, что все операции внутри транзакции будут выполнены полностью или не будут выполнены вообще?
- Консистентность
- Атомарность
- Изолированность
- Долговечность
Вопрос 13
Какой декоратор используется для обеспечения атомарности в Django?
- @atomic
- @transaction
- @transaction.atomic
- @db.atomic
Вопрос 14
Что делает функция transaction.set_rollback(True)?
- Фиксирует текущую транзакцию
- Откатывает текущую транзакцию
- Переводит транзакцию в режим автокоммита
- Регулярно сохраняет транзакцию
Вопрос 15
Какой метод Django используется для выполнения кода после успешной фиксации транзакции?
- transaction.after_commit()
- transaction.post_commit()
- transaction.on_success()
- transaction.on_commit()
Вопрос 16
В каком случае следует использовать transaction.atomic как контекстный менеджер?
- Когда нужно управлять транзакцией для нескольких независимых операций
- Когда необходимо откатить транзакцию сразу после ошибки
- Когда требуется выделить конкретный блок кода для транзакции
- Когда необходимо автоматически коммитить изменения после каждой операции
Вопрос 17
Какой метод используется для отключения автокоммита в Django?
- transaction.set_autocommit(False)
- transaction.enable_autocommit(False)
- transaction.disable_autocommit()
- transaction.stop_autocommit()
Вопрос 18
Что произойдёт, если во время выполнения кода внутри transaction.atomic() возникнет исключение?
- Транзакция будет выполнена
- Транзакция останется в подвешенном состоянии
- Транзакция будет откатана
- Исключение будет проигнорировано, и выполнение продолжится
Вопрос 19
Какой метод используется для явной фиксации транзакции?
- transaction.complete()
- transaction.confirm()
- transaction.commit()
- transaction.finish()
Вопрос 20
Какой принцип транзакций обеспечивает, что результаты завершённой транзакции сохраняются даже при сбоях системы?
- Атомарность
- Консистентность
- Изолированность
- Долговечность
Вопрос 21
Какое исключение выбрасывается при нарушении целостности данных в Django?
- IntegrityError
- DataError
- TransactionError
- ConsistencyError
Вопрос 22
Какой модуль в Django используется для управления транзакциями?
- django.db.models
- django.db.transactions
- django.transaction
- django.db.transaction