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

  • Adam Khoury

    Adam Khoury

    23 Ocak 2008
  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012