Это способ убедиться, что FileField, связанный с моделью, будет удален? - PullRequest
2 голосов
/ 16 июня 2011

Когда я удаляю экземпляр модели с FileField, фактический файл остается в моей папке MEDIA_ROOT. Чтобы противостоять этому, я слушаю сигнал post_delete и делаю это:

def delete_actual_file(sender,**kwargs):
  import os
  instance = kwargs.get("instance")
  os.unlink(instance.file.path)

post_delete.connect(delete_actual_file,sender=ModelWithFileField)

Кажется, все работает нормально, но я не уверен, что лучше всего так делать. Есть мысли?

1 Ответ

2 голосов
/ 16 июня 2011

Какую версию Django вы используете?Поведение изменилось в Django 1.3 .Документы, которые вы, возможно, захотите: здесь , и вы можете подключить это к своему сигналу, но я думаю, это должно стать действием перед удалением.

...