1. 程式人生 > >Python Djiang xadmin修改檔案/圖片時刪除舊檔案/圖片

Python Djiang xadmin修改檔案/圖片時刪除舊檔案/圖片

Python  Djiang xadmin修改檔案/圖片時刪除舊檔案/圖片

✎  使用signals的pre_save,在資料儲存前執行相關操作。

#在對應的models.py中

class banner(models.Model):

    ...



from django.db.models.signals import pre_save

from django.dispatch.dispatcher import receiver



@receiver(pre_save, sender=banner)



def banner_delete(sender, instance, **kwargs):

#根據id獲取被修改的項,

classify_s=banner.objects.filter(pk=instance.id)

    for e in classify_s:

        #根據新上傳時的圖片名稱和資料庫中儲存的圖片名稱對比來判定
        if instance.banner_img!=e.banner_img:

            e.banner_img.delete(False)