在反序列化时如何将模式属性映射到另一个键?



我需要有一个"from"字段,但由于它是Python保留关键字,因此我无法使用该名称。

输入数据有"from"键和反序列化映射也应该有"from&;关键。在序列化对象时偶然发现了类似的问题,但不幸的是,data_key只完成了目标的第一部分——处理">

如何使反序列化数据中的键具有目标名称?
模式示例:

class TestSchema(Schema):
_from = fields.Str(
required=False,
missing='',
data_key='from',
)

期望结果:带有"from"键的Python字典

答案在attribute字段参数中:

class TestSchema(Schema):
_from = fields.Str(
required=False,
missing='',
data_key='from',
attribute='from',
)

摘自Schema。_deserialize方法:

if value is not missing:
key = field_obj.attribute or attr_name
set_value(ret_d, key, value)

attribute参数的文档只提到它表示"序列化时获取值的属性名称",但实际上它也表示反序列化时输出数据的属性名称。

相关内容

  • 没有找到相关文章

最新更新