我尝试了所有的方法,当我通过调用is_valid()来验证序列化程序时,我总是得到一个错误
class KVSFileMapSerializer(Schema):
kv_map = fields.Dict()
kvs_result = {
'trial': 'Config',
'trial_1': 'Congig',
}
kvs_serializer = KVSFileMapSerializer(data=kvs_result)
kvs_serializer.is_valid()
最后一行总是返回'False',我试图引发一个异常,这就是我得到的结果
{'trial': [ErrorDetail(string='Unknown field.', code='invalid')], 'trial_1': [ErrorDetail(string='Unknown field.', code='invalid')]}
这是我使用的包-django-marshmallow
使用某些字段定义序列化程序时,需要将同一字段传递给序列化程序,以便序列化程序序列化数据
此数据不包含序列化程序字段键,即
kv_map
,因此kvs_serializer.is_valid()
将始终返回False
正确的数据:
由于您已将kv_映射字段定义为
kv_map = fields.Dict()
,因此需要传递一个字典,其键为kv_map
,其值为字典相关问题 更多 >
编程相关推荐