Sobes.tech
Back to questions
Junior — Middle
50

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

Companies where asked
МТСМТС
Фабрика РешенияФабрика Решения

Answer from AI

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