我有一个有图像字段的模型。我希望用户能够为模型的一个对象上传多个图像-而不仅仅是一个图像。如何做到这一点?是否使用图像字段或其他方法。
xiozqbni1#
不能在一个ImageField中存储多个图像。这个问题的一个解决方案是创建一个额外的模型(我在我的社交网络宠物项目中称之为“Attachment”,你可以用任何适合你的名字来称呼它),并让它在一个外键中引用原始模型,这样你就可以上传任意多的图片,并为每个新图片创建一个新模型的示例。附件型号示例:
class Attachment(DatetimeCreatedMixin, AuthorMixin): class AttachmentType(models.TextChoices): PHOTO = "Photo", _("Photo") VIDEO = "Video", _("Video") file = models.ImageField('Attachment', upload_to='attachments/') file_type = models.CharField('File type', choices=AttachmentType.choices, max_length=10) publication = models.ForeignKey(TheOriginalModelYouUsedImageFieldIn, on_delete=models.CASCADE, verbose_name='Model that uses the image field') class Meta: verbose_name = 'Attachment' verbose_name_plural = 'Attachments'
1条答案
按热度按时间xiozqbni1#
不能在一个ImageField中存储多个图像。
这个问题的一个解决方案是创建一个额外的模型(我在我的社交网络宠物项目中称之为“Attachment”,你可以用任何适合你的名字来称呼它),并让它在一个外键中引用原始模型,这样你就可以上传任意多的图片,并为每个新图片创建一个新模型的示例。
附件型号示例: