Встречается на 1% собеседований по Python
Как отслеживать запросы, генерируемые Django
Для отслеживания запросов в Django можно использовать несколько подходов:
- Логирование SQL-запросов
Добавьте вsettings.py:
python
LOGGING = {
'version': 1,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'level': 'DEBUG',
'handlers': ['console'],
}
}
}- Django Debug Toolbar
Установите пакет и добавьте вsettings.py:
python
INSTALLED_APPS += ['debug_toolbar']
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware']
INTERNAL_IPS = ['127.0.0.1']- Сигналы
Можно подключиться к сигналуconnection_created:
python
from django.db.backends.signals import connection_created
from django.dispatch import receiver
@receiver(connection_created)
def log_queries(sender, connection, **kwargs):
print(connection.queries)- Middleware
Создайте кастомное middleware для логирования:
python
class QueryLoggerMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
from django.db import connection
print(f"Total queries: {len(connection.queries)}")
return response
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы