Miałem dokładnie ten sam problem! potem zdaję sobie sprawę, że powodowały to moje Modele. przykład Mam moje modele w ten sposób:
class Tile(models.Model):
image = models.ImageField()
Następnie chciałem mieć więcej jednego kafelka odwołującego się do tego samego pliku na dysku! Sposób, w jaki znalazłem rozwiązanie, polegał na zmianie struktury mojego modelu na następującą:
class Tile(models.Model):
image = models.ForeignKey(TileImage)
class TileImage(models.Model):
image = models.ImageField()
Co po tym, jak zdaję sobie sprawę, że ma to więcej sensu, ponieważ jeśli chcę, aby ten sam plik był zapisywany więcej niż jeden w mojej bazie danych, muszę utworzyć dla niego kolejną tabelę!
Myślę, że możesz rozwiązać swój problem w ten sposób, mając tylko nadzieję, że możesz zmienić modele!
EDYTOWAĆ
Wydaje mi się, że możesz użyć innego magazynu, na przykład tego: SymlinkOrCopyStorage
http://code.welldev.org/django-storages/src/11bef0c2a410/storages/backends/symlinkorcopy.py
FileField
. Za każdym razem, gdyFileField
zapisywany jest plik, tworzona jest nowa kopia pliku. Dodanie opcji unikania tego byłoby dość proste.