Обновление поля Image Django
Модель публикации
class Post(models.Model):
text = models.TextField()
pub_date = models.DateTimeField("date published", auto_now_add=True)
author = models.ForeignKey(
User, on_delete=models.CASCADE, related_name="posts")
group = models.ForeignKey(
Group, on_delete=models.SET_NULL, blank=True,
null=True, related_name="posts")
image = models.ImageField(upload_to='posts/', blank=True, null=True)
class Meta:
ordering = ['-pub_date']
Есть кнопка по нажатию на которую картинку нужно обновить. Вот вью
def get_image_file(name, ext='png', size=(50, 50), color=(256, 0, 0)):
file_obj = BytesIO()
image = Image.new("RGBA", size=size, color=color)
image.save(file_obj, ext)
file_obj.seek(0)
return File(file_obj, name=name)
def encode_post(request, post_id):
post = Post.objects.get(id=post_id)
new_image = get_image_file('encode_img/3.png')
post.image = new_image
post.save()
return redirect('index')
Картинка обновляется на одноцветную которая сохраняется в папку encode_img ( откуда считывается новая картинка ) под именем 3_YZE0gUD.png, а картинка 3.png остается не тронутой.
Как это сделать?
p.s про обновление данных через форму ( и загрузку картинки ) знаю, но нужно без формы