Обновление поля 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 про обновление данных через форму ( и загрузку картинки ) знаю, но нужно без формы


Ответы (0 шт):