Sinais são a implementação do padrão observer do Django — eles permitem que certos emissores notifiquem um conjunto de receptores quando eventos específicos ocorrem (como um modelo sendo salvo ou deletado). Eles habilitam código desacoplado: uma parte da aplicação reage a eventos em outra sem acoplamento direto.
Sinais integrados comuns
pre_save / post_save → before / after a model instance is saved
pre_delete / post_delete → before / after a model instance is deleted
m2m_changed → a ManyToMany relationship changed
request_started / finished→ request lifecycle
user_logged_in / out → authentication events
