Как вернуть загруженное изображение к изображению по умолчанию после удаления?

У меня есть простое приложение для блога, когда я обновляю статью и удаляю фото, я хочу, чтобы оно использовало фото по умолчанию. Оно выбирает это изображение при создании, но при обновлении выдает ошибку.

вот мой код Models.py.

image = models.ImageField(
    upload_to="uploads/articles/",
    null=True,
    blank=True,
    default="uploads/articles/noimage.png",
)

ошибка, которую я получаю при удалении изображения во время обновления.

Error during template rendering
The 'image' attribute has no file associated with it.
<img class='article-img' src="{{article.image.url}}" alt="">

вы можете использовать Django Signals при удалении, обновлении или создании, пожалуйста, прочитайте об этом подробнее

это как запуск триггера на модели, например, когда происходит метод update, вы можете проверить поле image, если оно пустое, вы можете добавить в него изображение

решение 2: переопределить метод сохранения в модели django и применить предыдущее условие

решение 3: сделайте статическое поле, используя @proparty и проверьте из фронтэнда, если нет изображения ... отобразите это поле

решение 4: Я не уверен в этом, но вы можете проверить on_delete=models.SET_DEFAULT

Желаю удачи

Вернуться на верх