如何避免在django模型中覆盖

k2fxgqgv  于 2022-12-27  发布在  Go
关注(0)|答案(1)|浏览(159)

我有一个名为AlbumImage的类

class AlbumImage(models.Model):
    album = models.ForeignKey(Album, on_delete=models.PROTECT,related_name="raters")
    image = models.ImageField(upload_to="Album")

当我上传第一个图像称为(例如)image1.png时,ok,,,,
但是如果我上传另一个同名的图像(image1.png),并返回到第一个对象,我会发现第二个图像在它的位置。
如何避免覆盖?

vbkedwbf

vbkedwbf1#

FileFieldImageField将检测到这一点,并将添加一个随机部分以避免覆盖。
只有当你把它设置成一个字符串时,它才会接受它,因为那时你引用的是一个文件名,但是如果你这样处理一个(Model)Form,或者ModelAdmin,或者你用一个File对象传递它。
实际上,如果您想保存名为3.jpeg的项目两次,它将生成:

/media/3.jpeg
/media/3_S12ggWF.jpeg

相关问题