Для создания изображения я использую метод save_image. Я не знаю, отличается ли это от метода сохранения. Но, насколько я понимаю, метод save_image прекрасно работает для меня.
Чтобы удалить изображение, просто получите экземпляр этой модели и вызовите метод удаления. Это приведет к удалению как записи базы данных, так и изображений (включая эскизы). Я должен отметить, что метод удаления в ImageModel работает не так, как в обычных моделях. Разница, которую я заметил, заключается в том, что при попытке массового удаления изображений, таких как Photo.objects.filter (owner = owner_id) .delete (), в результате будут удалены только записи базы данных, а файлы сохранены. Чтобы полностью удалить ImageModel, вам нужно получить точный экземпляр и вызвать метод удаления. В моем примере вам нужно перебрать все фотографии и удалить их одну за другой.
Я думаю, что ImageModel разработан таким образом, что обновление не рекомендуется. Так что в вашем случае, если вы хотите заменить старый аватар, лучше всего создать новый экземпляр ImageModel, создать отношения с пользователем, сохранить его и удалить оригинальный аватар.