Встречается на собеседованиях • сегодня

Какие есть сигналы в Django

В Django есть несколько встроенных сигналов, которые позволяют выполнять действия при определенных событиях. Основные группы сигналов:

Модельные сигналы (django.db.models.signals):

  • pre_save, post_save - до/после сохранения модели
  • pre_delete, post_delete - до/после удаления модели
  • m2m_changed - при изменении ManyToMany-поля

Запросные сигналы (django.core.signals):

  • request_started, request_finished - начало/конец обработки запроса
  • got_request_exception - при возникновении исключения в запросе

Сигналы тестирования:

  • setting_changed - при изменении настроек
  • template_rendered - при рендеринге шаблона

Пример использования:

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}")
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы