Junior — Middle
Can you name the main signals used in Django and explain their purpose?
sobes.tech AI
Answer from AI
In Django, signals are used to notify different parts of the application about the occurrence of certain events. Main signals:
pre_save— called before saving a model object.post_save— called after saving a model object.pre_delete— called before deleting an object.post_delete— called after deleting an object.m2m_changed— called when many-to-many relationships change.
For example, post_save can be used to automatically create related objects or send notifications after a record is created.
Example of using a signal:
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"A new object has been created: {instance}")