Ммм. Тут есть некоторая логическая проблема.
1. Пользователь загрузил картинку с именем 1.bmp. В базе создалась запись №1, картинка записалась в папку.
Без изменений:
2. Пользователь загружает картинку с таким же именем. В базе создалась запись №2, картинка записалась в папку.
Так, как выхотите:
2. Пользователь загружает картинку с таким же именем. В базе создалась запись №2, картинка перезаписала картинку в папке. Теперь запись #1 b #2 ссылаются на одно и то же изображение. Тут, надо сказать, будут очень трудно находимые проблемы.
Не говоря о том, что теперь при удалении любой записи - или №1 или №2 картинка будет удалятся вместе с ней. Что, в свою очередь, значит, что запись, которая останется, будет ссылатся на несуществующий файл.
Я не знаю, какую вы задачу решаете, но мне кажется что такая замена - не очень хорошая идея.
Скорее имеет смысл проверять есть ли такой файл, и если есть - не добавлять новую запись, а редактировать существующюю.
Как это сделать?
Использовать кастомные методы вместо стандартных методов моеделей.