python - django admin 在 创建, 更新, 删除 操作 前/后 执行其他操作

# 使用  @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

 

posted @ 2020-10-28 18:07  _Q  阅读(399)  评论(0编辑  收藏  举报