Встречается на 2% собеседований по Python
Как работают сигналы в 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
интервью вопросы и ответы