在model定义中添加如下示例代码
from django.db.models.signals import pre_save,post_save
from django.dispatch import receiver
@receiver(pre_save, sender=Student)
def pre_save_student(sender, **kwargs):
print('-------pre_save_student---------', kwargs)
@receiver(post_save, sender=Student)
def post_save_student(sender, **kwargs):
print('id=', kwargs['instance'].id)
print('-------post_save_student---------', kwargs)
也可以写在APPConfig里面:
from django.apps import AppConfig from django.db.models.signals import pre_save def pre_save_student(sender, **kwargs): print('-------+++++++++++++pre_save_student---------', kwargs) class MyappConfig(AppConfig): name='app' verbose_name = u'我的应用' def ready(self): MyModel = self.get_model('Student') pre_save.connect(pre_save_student, sender='app.Student')
参考文档:
https://docs.djangoproject.com/en/3.1/ref/signals/#django.db.models.signals.post_save