Встречается на собеседованиях • сегодня
Как работают сигналы в Django
Сигналы в Django — это механизм для отправки и получения уведомлений при определенных событиях в приложении. Они реализуют паттерн "наблюдатель", позволяя разным частям кода реагировать на изменения, не будучи жестко связанными.
Основные компоненты:
- Отправитель (sender) — модель или другой объект, генерирующий сигнал
- Сигнал — сам объект сигнала (например,
post_save) - Получатель (receiver) — функция, которая обрабатывает сигнал
Пример использования:
python
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import MyModel
@receiver(post_save, sender=MyModel)
def my_handler(sender, instance, created, **kwargs):
if created:
print(f"Создан новый объект {instance}")Основные встроенные сигналы:
pre_save/post_save— до/после сохранения моделиpre_delete/post_delete— до/после удаленияm2m_changed— при изменении ManyToMany поля
Сигналы помогают сохранять слабую связность кода, но могут усложнить отладку. Рекомендуется документировать их использование.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы