我在解析视图集中的request.data时遇到问题。我有一个模型,可以根据产品添加多个图像。
我想从传入数据中分离图像,将产品数据发送到 ProductSerializer,然后将图像与产品数据一起发送到其序列化器并保存。
我有两个模型,就像这样:
def Product(models.Model):
name = models.CharField(max_length=20)
color = models.ForeignKey(Color, on_delete=models.CASCADE)
def Color(models.Model):
name = models.CharField(max_length=15)
def ProductImage(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
image = models.ImageField(upload_to='product_pics/')
Run Code Online (Sandbox Code Playgroud)
我想发送到产品(127.0.0.1:8000/products/)的请求就像:
{
"name": "strawberry",
"color": {
"name": "red"
},
"productimage_set": [
{"image": "<some_encode_image_data>"}
]
}
Run Code Online (Sandbox Code Playgroud)
序列化器没有什么特别的,只是提取标签链接,所以我没有写它。如何发送多部分/表单数据以及如何在视图集中解析它?或者解决办法是什么?
python django serialization django-rest-framework django-rest-viewsets