SORU
21 Mart 2011, PAZARTESİ


Nasıl veritabanı/model bir nesne kaldırdığınızda dosya silme için Django Admin alabilirim?

Standart bir ImageField ile 1.2.5 kullanarak ve dahili depolama arka uç kullanıyorum. Dosya upload iyi ama ben admin girişi kaldırdığınızda, sunucu üzerindeki gerçek dosya silmez.

CEVAP
14 Ocak 2013, PAZARTESİ


Pre_delete sinyal almak ve FileField silme yöntemi, böylece (models.py) nesne diyebilirsiniz:

class MyModel(models.Model):
    file = models.FileField()
    ...

# Receive the pre_delete signal and delete the file associated with the model instance.
from django.db.models.signals import pre_delete
from django.dispatch.dispatcher import receiver

@receiver(pre_delete, sender=MyModel)
def mymodel_delete(sender, instance, **kwargs):
    # Pass false so FileField doesn't save the model.
    instance.file.delete(False)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • iMasterful

    iMasterful

    11 EYLÜL 2009
  • modica89

    modica89

    24 HAZİRAN 2007