加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django Rest Framework Serializer POST数据不接收数组

发布时间:2020-12-20 11:50:31 所属栏目:Python 来源:网络整理
导读:我正在使用DRF测试API来测试我的序列化程序,例如我创建了这样的数据: image_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'../media/','product_images/','myimage.png') with open(image_path) as image: encoded_image = base64.b64d
我正在使用DRF测试API来测试我的序列化程序,例如我创建了这样的数据:

image_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'../media/','product_images/','myimage.png')
    with open(image_path) as image:
        encoded_image = base64.b64decode(image.read())
        data = {
            u'small_name': u'Product Test Case Small Name',u'large_name': u'Product Test Case Large Name',u'description': u'Product Test Case Description',u'images': [
                {u'image': encoded_image}
            ],u'variants': [
                {u'value': u'123456789'}
            ]
        }
response = self.client.post(url,data,'multipart')

但是,当我在相应的序列化器上收到数据时,variants阵列和images阵列是空的.

这可能是什么问题?

解决方法

您不能同时拥有图像上载和嵌套数据. 您要上传图像并使用多部分编码(HTML表单),这意味着您的数组将无法工作(除非它是外键或类似的列表).这可以与JSon内容类型一起使用,但是你将失去上传图像的能力.您可以选择使用base64对图像进行编码并上传,但您必须在序列化程序上自定义一些内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读