ruchej
@ruchej
Конструктор мебели. Пишу макросы для К3-Мебель

Как проверить ссылки на файл перед удалением?

Есть хороший пример, который удаляет файл с таким же именем, как у загружаемого. Пример ниже.
Это избавит от дубликатов, но проблема, что перед удалением нет проверки, ссылается ли на этот файл другое приложение или запись в таблице.
Как правильно поступить?
Судя по поиску это давно избитый вопрос, но я пока так и не нашёл гармоничного решения, как не плодить дубликаты, или как потом чистить ненужные файлы.

Пример
class OverwriteStorage(FileSystemStorage):
    def get_available_name(self, name, max_length=None):
        if self.exists(name):
            os.remove(os.path.join(settings.MEDIA_ROOT, name))
        return name

class Images(models.Model):
    img = models.ImageField(storage=OverwriteStorage(), upload_to='photolog', verbose_name='Изображение')

  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы