Junior — Middle
Můžete uvést hlavní signály používané v Django a vysvětlit jejich účel?
sobes.tech AI
Odpověď od AI
V Django se používají signály k upozornění různých částí aplikace na výskyt určitých událostí. Hlavní signály:
pre_save— je volán před uložením objektu modelu.post_save— je volán po uložení objektu modelu.pre_delete— je volán před odstraněním objektu.post_delete— je volán po odstranění objektu.m2m_changed— je volán při změnách v relacích many-to-many.
Například pomocí post_save lze automaticky vytvářet související objekty nebo odesílat oznámení po vytvoření záznamu.
Příklad použití signálu:
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"Nový objekt vytvořen: {instance}")