Sobes.tech
Junior — Middle

Puoi nominare i principali segnali utilizzati in Django e spiegare il loro scopo?

sobes.tech AI

Risposta dell'AI

In Django, i segnali vengono utilizzati per notificare le diverse parti dell'applicazione dell'avvenimento di determinati eventi. I segnali principali:

  • pre_save — viene chiamato prima di salvare un oggetto del modello.
  • post_save — viene chiamato dopo aver salvato un oggetto del modello.
  • pre_delete — viene chiamato prima di eliminare un oggetto.
  • post_delete — viene chiamato dopo aver eliminato un oggetto.
  • m2m_changed — viene chiamato quando cambiano le relazioni many-to-many.

Ad esempio, con post_save si può creare automaticamente oggetti collegati o inviare notifiche dopo aver creato una registrazione.

Esempio di utilizzo di un segnale:

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"Nuovo oggetto creato: {instance}")