16.2. Utils Signals¶
>>>
... from django.db.models.signals import pre_save
... from django.dispatch import receiver
... from shop.models import Customer
...
...
... @receiver(pre_save, sender=Customer)
... def my_handler(sender, **kwargs):
... # do something
16.2.1. Model signals¶
django.db.models.signals.pre_init
django.db.models.signals.post_init
django.db.models.signals.pre_save
django.db.models.signals.post_save
django.db.models.signals.pre_delete
django.db.models.signals.post_delete
16.2.2. M2m relations¶
django.db.models.signals.m2m_changed
django.db.models.signals.class_prepared
16.2.3. Migrations¶
django.db.models.signals.pre_migrate
django.db.models.signals.post_migrate
>>>
... from django.apps import AppConfig
... from django.db.models.signals import post_migrate
...
...
... def my_callback(sender, **kwargs):
... # do something
... pass
...
...
... class ShopConfig(AppConfig):
... ...
...
... def ready(self):
... post_migrate.connect(my_callback, sender=self)
16.2.4. Request¶
django.core.signals.request_started
django.core.signals.request_finished
django.core.signals.got_request_exception
16.2.5. Test¶
django.test.signals.setting_changed
django.test.signals.template_rendered
16.2.6. Database¶
django.db.backends.signals.connection_created