ich eine Anwendung mit django bin der Umsetzung, die ein Modell mit einem Filefield hat:Django - Aktualisiere ein Modell wird die alte Filefield nicht löschen
class Slideshow(models.Model):
name = models.CharField(max_length=30,unique=True)
thumbnail = models.FileField(max_length=1000,upload_to="images/app/slideshows/thumbnails")
und ich habe ein Admin-Backend, wo django die Modelle verwaltet. Habe ich nur noch die Datei admin.py und django verwaltet alles für mich
from django.contrib import admin
from apps.gallery.models import Slideshow
admin.site.register(Slideshow)
Im Backend ist es möglich, zu ergänzen, zu löschen und die Diashows zu aktualisieren. Wenn ich jedoch versuche, eine Diashow zu aktualisieren und ihre Attributminiatur [FileField] zu ändern, löscht django die alte Datei nicht. Folglich ist der Server nach mehreren Aktualisierungen mit vielen Dateien gefüllt, die nutzlos sind. Meine Frage ist: Wie kann ich Django diese Dateien automatisch nach einem Update löschen lassen?
würde ich wirklich schätzen Ihre Hilfe
Ja, Sie haben Recht! Die Django-Entwickler scheinen in neuen Versionen für diesen Fall in einem neuen Design zu arbeiten. Eine der Optionen ist das Hinzufügen einer zusätzlichen Option in FileFields, um Dateien beim Hochladen austauschbar zu machen: http://groups.google.com/group/django-developers/browse_thread/thread/491619541ba6ac75 Ich unterstütze diese Idee, " Danke für deine Hilfe Seth "Ich könnte den Patch benutzen, von dem du mir erzählt hast. – raulsan
Hatte nur eine andere Idee - Sie könnten versuchen, die Option ** show_hidden_initial ** zu Ihrem 'FileField' hinzuzufügen. Vermutlich würden Sie damit auf den ursprünglichen Wert des 'FileField' zugreifen, bevor eine neue Datei hochgeladen wurde. – Seth