# 使用 @receiver 装饰器来完成该操作
from django.db import models from django.dispatch import receiver from django.db.models.signals import post_delete, pre_delete, post_save, pre_save class Advert(models.Model): create_time = models.DateTimeField(verbose_name="创建时间", auto_now_add=True) class Meta: verbose_name = "广告表" verbose_name_plural = verbose_name # 该表进行 删除操作 后执行 @receiver(pre_delete, sender=Advert) def delete_upload_files(sender, instance, **kwargs): # 可执行一些 log日志, 本地文件删除/远程服务器文件删除 等操作 # instance: 当前实例对象 pass # 该表进行 删除操作 前执行 @receiver(post_delete, sender=Advert) def delete_upload_files(sender, instance, **kwargs): # 可执行一些 log日志, 本地文件删除/远程服务器文件删除 等操作 # instance: 当前实例对象 pass # 该表进行 更新/创建操作 后执行 @receiver(post_save, sender=Advert) def save_upload_files(sender, instance, **kwargs): # 可执行一些 log日志, 本地文件删除/远程服务器文件删除 等操作 # instance: 当前实例对象 pass # 该表进行 更新/创建操作 前执行 @receiver(pre_save, sender=Advert) def save_upload_files(sender, instance, **kwargs): # 可执行一些 log日志, 本地文件删除/远程服务器文件删除 等操作 # instance: 当前实例对象 pass