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

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014