【发布时间】:2020-12-26 18:27:34
【问题描述】:
我需要在每个帖子中显示图标(代表帖子内文档的类型)。每年有数百个帖子。大约有十几种类型的文档,因此我需要那么多图标。问题是,如果我使用models.ImageField,它会在每次创建帖子时上传一张新图片,我很快就会得到一堆相同的图标。
所以我想知道如何实现以下逻辑:
-
preview_icon -> 从服务器中选择
-
upload_icon -> 如果服务器上不存在想要的图标,则通过 preview_icon 字段从服务器上传并选择它。
我最初的想法是制作一个新模型:
class PostIcon(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name="icons")
post_icon = models.ImageField(upload_to=f"path")
所以你可以连接图标来发布。但我想知道是否有办法实现我提到的第一个逻辑,因为它会更整洁。谢谢。
【问题讨论】: