🤔 Как происходит наследование моделей в Django?
В Django есть три способа наследования моделей:
- Абстрактные модели — базовый класс с полями и методами, который не создает свою таблицу в базе. Используется с Meta: abstract = True.
- Мультабличное наследование — каждая модель (родитель и наследник) создаёт отдельную таблицу. Django связывает их через JOIN. Полезно, когда нужно сохранить общие поля, но требуется хранить их раздельно.
- Прокси-модели — создают новый класс на основе существующей модели, не добавляя новых полей. Используются для изменения поведения, сортировки, менеджеров и т.д., без создания новой таблицы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
В Django есть три способа наследования моделей:
- Абстрактные модели — базовый класс с полями и методами, который не создает свою таблицу в базе. Используется с Meta: abstract = True.
- Мультабличное наследование — каждая модель (родитель и наследник) создаёт отдельную таблицу. Django связывает их через JOIN. Полезно, когда нужно сохранить общие поля, но требуется хранить их раздельно.
- Прокси-модели — создают новый класс на основе существующей модели, не добавляя новых полей. Используются для изменения поведения, сортировки, менеджеров и т.д., без создания новой таблицы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
🔥4🤔4👍1
🤔 Какой метод используется для удаления элемента из множества в Python, если он существует, и не вызывает ошибку, если не существует?
Anonymous Quiz
27%
remove()
29%
discard()
37%
pop()
7%
delete()
🔥1
🤔 Какой метод проверяет, все ли элементы в итерируемом объекте ложны?
Anonymous Quiz
22%
any()
49%
all()
7%
none()
22%
not any()
🔥3
🤔 Зачем посылается OPTIONS перед GET/POST?
Запрос OPTIONS отправляется браузером автоматически при CORS-запросах (когда ты обращаешься к другому домену, порту или протоколу). Он нужен для:
- Проверки, разрешён ли доступ к ресурсу с другого источника.
- Получения информации о поддерживаемых методах и заголовках.
- Установления доверия между источниками.
Такой OPTIONS-запрос называется preflight-запросом (предварительным).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Запрос OPTIONS отправляется браузером автоматически при CORS-запросах (когда ты обращаешься к другому домену, порту или протоколу). Он нужен для:
- Проверки, разрешён ли доступ к ресурсу с другого источника.
- Получения информации о поддерживаемых методах и заголовках.
- Установления доверия между источниками.
Такой OPTIONS-запрос называется preflight-запросом (предварительным).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
🔥4
🤔 Какой результат выполнения выражения all([0, 1, 2, 3])?
Anonymous Quiz
40%
True
53%
False
5%
None
3%
Error
🔥3
🤔 Каков результат выполнения выражения any([i > 2 for i in [1, 2, 3]])?
Anonymous Quiz
76%
True
20%
False
2%
None
2%
Error
👍2
🤔 Как устроен словарь?
Словарь (dict) реализован как хеш-таблица. Ключи хешируются с помощью hash() и связываются с соответствующим значением.
Доступ к элементам происходит быстро (в среднем за O(1)).
Ключи должны быть хешируемыми (обычно неизменяемыми типами).
С Python 3.7+ порядок вставки элементов сохраняется.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Словарь (dict) реализован как хеш-таблица. Ключи хешируются с помощью hash() и связываются с соответствующим значением.
Доступ к элементам происходит быстро (в среднем за O(1)).
Ключи должны быть хешируемыми (обычно неизменяемыми типами).
С Python 3.7+ порядок вставки элементов сохраняется.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍6🔥5
🤔 Какой атрибут словаря в Python возвращает список кортежей, где каждый кортеж содержит пару ключ-значение?
Anonymous Quiz
9%
dict.keys()
10%
dict.values()
78%
dict.items()
3%
dict.pairs()
👍3
🤔 Что из перечисленного не является ключевым словом в Python?
Anonymous Quiz
9%
class
73%
function
6%
return
12%
pass
3👍2🔥2
🤔 Как связаны for и next?
Цикл for в Python работает на основе итераторов. Он неявно вызывает метод next, чтобы получить следующий элемент из последовательности. Когда элементы заканчиваются, вызывается исключение, которое завершает цикл. Таким образом, for — это более удобная и безопасная обёртка над вызовами next.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Цикл for в Python работает на основе итераторов. Он неявно вызывает метод next, чтобы получить следующий элемент из последовательности. Когда элементы заканчиваются, вызывается исключение, которое завершает цикл. Таким образом, for — это более удобная и безопасная обёртка над вызовами next.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍8🔥1
🤔 Как создать копию словаря в Python?
Anonymous Quiz
84%
copy()
7%
clone()
7%
duplicate()
1%
replicate()
👍1
🤔 Какая функция преобразует JSON строку в словарь?
Anonymous Quiz
51%
json.loads()
32%
json.load()
14%
json.parse()
3%
json.unpack()
👍4
🤔 Зачем нужны схемы в БД?
- Разделяют логически связанные таблицы (особенно в PostgreSQL);
- Облегчают организацию доступа и изоляцию;
- Позволяют использовать одинаковые имена таблиц в разных схемах;
- Упрощают мульти-тенантность и организацию БД.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
- Разделяют логически связанные таблицы (особенно в PostgreSQL);
- Облегчают организацию доступа и изоляцию;
- Позволяют использовать одинаковые имена таблиц в разных схемах;
- Упрощают мульти-тенантность и организацию БД.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍2🔥1💊1
🤔 Какая функция создает список уникальных элементов из итерируемого объекта?
Anonymous Quiz
13%
list()
9%
tuple()
76%
set()
3%
dict()
👍4
🤔 Какой оператор используется для определения генератора?
Anonymous Quiz
15%
{}
26%
[]
47%
()
12%
<>
💊3👍2
🤔 Какими способами можно напечатать stderr?
Есть несколько способов вывести данные в стандартный поток ошибок (stderr):
1. Через print() с указанием потока
2. Через sys.stderr.write()
3. С помощью модуля logging
Все эти подходы направляют сообщение в stderr, но logging также позволяет вести журналирование и настраивать уровни логов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Есть несколько способов вывести данные в стандартный поток ошибок (stderr):
1. Через print() с указанием потока
2. Через sys.stderr.write()
3. С помощью модуля logging
Все эти подходы направляют сообщение в stderr, но logging также позволяет вести журналирование и настраивать уровни логов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
🔥7👍2
🤔 Какой результат выполнения выражения set('hello')?
Anonymous Quiz
74%
{'h', 'e', 'l', 'o'}
19%
{'hello'}
1%
{'h', 'e', 'l'}
6%
{'h', 'e', 'l', 'o', ''}
👍5💊1
🤔 Какая функция возвращает вещественную часть комплексного числа?
Anonymous Quiz
50%
real()
9%
imag()
37%
complex.real
4%
get_real()
💊6🤔2
🤔 Какой результат выполнения выражения [i for i in range(10) if i % 2 == 0] == [0, 2, 4, 6, 8]?
Anonymous Quiz
83%
True
11%
False
5%
Error
1%
None
👍2🔥1
🤔 Какой способ правильно создает множество только с уникальными элементами из списка?
Anonymous Quiz
88%
set(list)
5%
unique(list)
5%
list(set)
1%
list[unique]
🤔 Какой метод списков добавляет элемент в конец списка?
Anonymous Quiz
5%
push()
91%
append()
1%
attach()
3%
add()
👍2🔥1