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对图像进行编码并上传,但您必须在序列化程序上自定义一些内容.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |