问题描述
我是 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 (将#修改为@)