1. 程式人生 > 實用技巧 >python - django admin 在 建立, 更新, 刪除 操作前/後 執行其他操作

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