首页 > 解决方案 > 在 Django 中使用不同的文件名覆盖 ImageField

问题描述

嗨,我正在 django 中制作一个项目,其中上传图像和渲染在那里,但我想让项目像它一样替换以前的图像,它可以用不同的名称就像我第一次上传像 san.png 这样的图像,如果我第二次上传上传 sanju.png 前一个应该会自动删除,文件夹中应该只有一个图像.....我该如何制定逻辑

模型.PY

from django.db import models



class Image(models.Model):
        image = models.FileField(upload_to='images', max_length=255)

标签: djangodjango-modelsdjango-rest-framework

解决方案


您可以在更新对象之前执行此操作:

import os 

# obj is an `Image` instance
os.remove(obj.image.path)

# rest of your logic ...

推荐阅读