目前我正在尝试将包含整数的数组发送到我的 rest api,这是我测试的一部分:
res = self.client.post(
'/data',
{
'data': [
[1,2,3],
[4,5,6]
]
}
)
在我的序列化程序中,我尝试打印数据:
def create(self, validated_data):
print(self.context['request'].data)
print(self.context['request'].data['data'])
但我只是得到:
<QueryDict: {'data': ['[1, 2, 3]', '[4, 5, 6]']}>
[4, 5, 6]
预期:
{'data': [[1, 2, 3], [4, 5, 6]]}
[[1, 2, 3], [4, 5, 6]]
这怎么可能?
我是发送了错误的格式还是以错误的方式访问了 json...?
谢谢和问候!
最佳答案
在您的序列化程序中,添加以下字段:
data = serializers.JSONField()
在您的场景中访问序列化程序中的 self.context['request'].data
没有意义。相反,您应该访问 validated_data
。添加 JSONField
后,通过 validated_data
访问您的数据字段,您应该会找到一个列表列表。
validated_data["data"]
关于Django 测试 - 发送包含整数的数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53793710/