我需要有一个"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
参数的文档只提到它表示"序列化时获取值的属性名称",但实际上它也表示反序列化时输出数据的属性名称。