2014-01-27 3 views
0

Как я могу заменить одно изображение, загруженное ImageField (в моих моделях), с новым, выбранным одним и тем же ImageField?django заменить старое изображение, загруженное ImageField

И могу ли я удалить все изображения, загруженные с помощью ImageField, когда я удаляю объект модели (массовое удаление)?

ответ

1

Это может оказаться сложным, И много раз зависит от ваших ограничений. 1. Напишите свой собственный метод сохранения для модели, а затем удалите старое изображение a и замените его новым. os.popen ("Кт% S" % ул (info.photo.path))

  1. Написать хроны, чтобы очистить все неиспользуемые файлы. Но опять же, если дисковое пространство является проблемой, возможно, вы захотите сделать 1-й, что заставит вас задерживать загрузку страницы.
+0

Если я предпочитаю 1-е решение, но есть случай, когда я обновляю объект без добавления нового изображения. Как проверить, было ли отправлено новое изображение? –

+1

Итак, когда вы обновляете объект, вы проверяете, есть ли у него изображение для сохранения, если вы его сохранили. и случай, о котором вы упомянули, когда у вас нет изображения для замены, вы просто сохраняете другие поля. – Anup

+0

Хорошо, но если изображение существует, как я могу проверить, выбрал ли пользователь новое изображение в форме или нет? –

Смежные вопросы