Ответ 1
Вы можете найти очень хорошее содержание о сигналах django через Интернет, сделав очень маленькие исследования.
Здесь я расскажу вам очень кратко о сигналах Django.
Что такое сигналы Django?
Сигналы позволяют некоторым отправителям уведомить набор приемников о том, что некоторые действия были выполнены
Действия:
метод сохранения модели() вызывается.
django.db.models.signals.pre_save | post_save
model delete().
django.db.models.signals.pre_delete | post_delete
Изменено ManyToManyField на модели.
django.db.models.signals.m2m_changed
Django запускает или завершает HTTP-запрос.
django.core.signals.request_started | request_finished
Все сигналы представляют собой экземпляры django.dispatch.Signal.
очень простой пример:
models.py
from django.db import models
from django.db.models import signals
def create_customer(sender, instance, created, **kwargs):
print "Save is called"
class Customer(models.Model):
name = models.CharField(max_length=16)
description = models.CharField(max_length=32)
signals.post_save.connect(create_customer, sender=Customer)
Shell
In [1]: obj = Customer(name='foo', description='foo in detail')
In [2]: obj.save()
Save is called