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

  • DeAdPiXel6667

    DeAdPiXel666

    2 Ocak 2010
  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009