如何使用 django rest 框架上传多张图片

问题描述

我是 django 和 django rest 框架的新手。我希望用户能够在我的网络上发布一些内容,类似于 Twitter。请参阅以下模型:

class Post(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
    content = models.CharField(max_length=255)
    upload_date = models.DateField(auto_Now_add=True)

    def __str__(self):
        return self.content


class Postimage(models.Model):
    post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name="images")
    image = models.ImageField(upload_to="images/")

现在,如您所见,用户应该能够上传文本内容或图像(单个或多个)或两者。

我想要的: 我想从客户端接收以下格式的数据:

data = {
    content: "Some text goes here",media: [images]
}

请帮助我我不知道如何为这种情况创建序列化程序...我已经阅读了文档。

注意 是的,我知道,我可以遍历图像并使用某种序列化程序手动验证/保存它们,但我想要一个验证,即用户应该输入文本或媒体字段,并且我不想在视图中编写验证逻辑(例如,如果不是内容和媒体通过错误),因为它违反了单一职责原则。验证逻辑应该在 Serializer 文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)