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

  • psidot

    psidot

    2 Kasım 2006
  • SDSARG3

    SDSARG3

    14 Mart 2009
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006