ImageField overwrite image file with same name
The default behavior of the Django ImageField when you upload a new image has the same name with an existing image Django will add suffix to that new one: existingname_<somesuffix>.JPG But if the image names are identical and represent each object in the database (named after the object's pk), you don't want to have that suffix added. You just want to remove the existing one with the new photo. If that the case, you can define your storage class and assign to the ImageField in models.py like the following example: 1. Create a file name storage.py and put it in the same place with settings.py: from django.core.files.storage import FileSystemStorage from django.conf import settings import os class OverwriteStorage( FileSystemStorage): def get_available_name(self, name): """Returns a filename that's free on the target storage system, and available for new content to be written to. ...