python

# 使用  @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
原文地址:https://www.cnblogs.com/chaoqi/p/13892545.html