我想在postman中给出一个字符串列表,例如:
['string1','string2','string3','string4','string5']
但是当它到达serializer.is_valid()时它会给我:
"non_field_errors": [
"Invalid data. Expected a dictionary, but got str."
]
这是我的序列化器:
class URLRequestedSerializer(serializers.Serializer):
urls = serializers.ListField(child=serializers.CharField())
如何将序列化器设置为除字符串列表外?
答案 0 :(得分:1)
看起来你在Postman中发布了一个列表而不是字典作为JSON,正如错误消息所说的那样。
你发布了:
['string1', 'string2', 'string3', 'string4', 'string5']
但你应该张贴:
{
"urls": ["string1", "string2", "string3", "string4", "string5"]
}
请记住,您的序列化程序定义了字段urls
,因此您必须将数据发送到JSON正文中的正确字段:)
答案 1 :(得分:-2)
从postman收到的字符串列表是django中的字符串类型,尝试使用eval
进行转换。