Sobes.tech
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}")