Skip to main content
 首页 » 编程设计

python之Django rest framework 如何序列化字符串列表

2025年05月04日16thcjp

我想在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()) 

我怎样才能使序列化程序排除字符串列表?

请您参考如下方法:

看起来您在 Postman 中将列表而不是字典作为 JSON 发布,正如错误消息所述。

您发布了:

['string1', 'string2', 'string3', 'string4', 'string5'] 

但你应该发布:

{ 
    "urls": ["string1", "string2", "string3", "string4", "string5"] 
} 

请记住,您的序列化程序定义了字段 urls,因此您必须将数据发送到 JSON 正文中的正确字段:)