Блок А. Менеджеры и создание записей
Задание А-1
Какой метод используется для создания и сохранения новой записи в БД одним действием?
save()create()add()insert()
Задание А-2
Какой менеджер Django предоставляется всем моделям по умолчанию?
managerdbobjectsquery
Задание А-3
Какой метод позволяет создать объект, изменить его и только потом сохранить?
create()write()persist()save()
Блок Б. Чтение записей
Задание Б-1
Какой метод возвращает первую запись из QuerySet?
first()get()initial()fetch()
Задание Б-2
Какой метод используется для проверки существования хотя бы одной записи в QuerySet?
count()exists()any()check()
Задание Б-3
Сопоставьте методы и их описание:
| Метод | Описание |
|---|---|
a) values() | 1) Возвращает последнюю запись из QuerySet |
b) last() | 2) Возвращает количество записей в QuerySet |
c) all() | 3) Возвращает записи как словари поле-значение |
d) count() | 4) Возвращает все записи таблицы как QuerySet |
Блок В. Метод get()
Задание В-1
Что произойдёт, если get() не найдёт ни одной записи в базе данных?
- Выбросит исключение
MultipleObjectsReturned - Выбросит исключение
DoesNotExist - Вернёт
None - Вернёт пустой QuerySet
Блок Г. Lookups и фильтры
Задание Г-1
Какое условие фильтрации используется для проверки, начинается ли значение поля с заданной подстроки?
startswithbeginswithstartwithbeginwith
Задание Г-2
Какое условие фильтрации используется для проверки, находится ли значение поля в заданном диапазоне?
insidewithinbetweenrange
Задание Г-3
Какое условие используется для регистронезависимого точного совпадения?
case_insensitiveexact_ignore_caseiexactiexactly
Задание Г-4
Сопоставьте lookups и их описание:
| Lookup | Описание |
|---|---|
a) icontains | 1) Проверяет, отсутствует ли значение поля (IS NULL) |
b) in | 2) Содержит ли поле подстроку без учёта регистра |
c) isnull | 3) Содержит ли поле подстроку с учётом регистра |
d) contains | 4) Находится ли значение в заданном списке |
Задание Г-5 (практика)
Напишите запрос, который выбирает все книги, опубликованные между 2010 и 2020 годами включительно. Используйте lookup __range.
Блок Д. Класс Q
Задание Д-1
Какой класс используется для построения сложных фильтров с логическими операторами AND, OR, NOT?
QueryQFilterCondition