Sobes.tech
Назад к вопросам
Junior — Middle
51

Можешь назвать основные сигналы, используемые в Django, и объяснить их назначение?

Компании, где спрашивали
МТСМТС
Фабрика РешенияФабрика Решения

Ответ от нейросети

sobes.tech AI

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

  • pre_save — вызывается перед сохранением объекта модели.
  • post_save — вызывается после сохранения объекта модели.
  • pre_delete — вызывается перед удалением объекта.
  • post_delete — вызывается после удаления объекта.
  • m2m_changed — вызывается при изменении связей many-to-many.

Например, с помощью post_save можно автоматически создавать связанные объекты или отправлять уведомления после создания записи.

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

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}")