Junior — Middle
Μπορείτε να αναφέρετε τα βασικά σήματα που χρησιμοποιούνται στο Django και να εξηγήσετε τον σκοπό τους;
sobes.tech AI
Απάντηση από 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}")