Junior — Middle
Vai jūs varat nosaukt galvenos Django izmantotos signālus un izskaidrot to mērķi?
sobes.tech AI
Atbilde no AI
Django signālos tiek izmantoti, lai paziņotu dažādām lietojumprogrammas daļām par noteiktu notikumu iestāšanos. Galvenie signāli:
pre_save— tiek izsaukts pirms modeļa objekta saglabāšanas.post_save— tiek izsaukts pēc modeļa objekta saglabāšanas.pre_delete— tiek izsaukts pirms objekta dzēšanas.post_delete— tiek izsaukts pēc objekta dzēšanas.m2m_changed— tiek izsaukts, mainoties many-to-many saistībām.
Piemēram, ar post_save var automātiski izveidot saistītus objektus vai nosūtīt paziņojumus pēc ieraksta izveides.
Signāla piemērs:
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"Jauns objekts izveidots: {instance}")