Ich muss doppelte Dateispeicherung verhindern.Django verhindern Dateiduplikate in Sicht
tun dies Modell:
def save(self, *args, **kwargs):
f = self.file
digest = Document.gen_digest(f)
qs = Document.objects.filter(hash=digest).first()
if qs is not None:
self.file = qs.file
super(Document, self).save(*args, **kwargs)
ich eine Lösung erreichen. Aber ich muss senden messages
, wenn Duplikate Platz haben. messages
erfordert request
- also muss ich dies in einer view
tun.
Wenn Sie dieses Beispiel jedoch in der Ansicht aufrufen, wird eine Datei mit einem anderen Namen erstellt. Dies ist das Standardverhalten.
Wie zu verhindern, Duplikate zu speichern und immer noch schmieden messages
wenn entweder, ohne zu überschreiben FileStorage
?
Oder ein anderer Ratschlag wäre einfach großartig!
Danke.