棉花糖:使用load({}).data反序列化嵌套字段

2024-05-13 22:09:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道之前有人问过这个问题,所以我为这个重复的案例提前道歉。 我正在尝试反序列化具有嵌套字段的架构。下面是一个例子:

class _SpeedSchema(marshmallow.Schema):
    level = fields.Integer(missing=10)

class ParentSchema(marshmallow.Schema):
    id = fields.String(missing='fake_id')
    datetime = fields.Integer(missing=int(common.get_current_utc_time()))
    speed = fields.Nested(_SpeedSchema, many=True)

接下来,我继续使用Python控制台从ParentSchema加载,如下所示 ParentSchema().load({}).data。因此,我得到以下输出

{'id': 'fake_id', 'datetime': 1580482336929}

我希望嵌套字段:speed包含在这个输出中,因为它已经指定了level,值为10。所以输出应该是这样的:

{'id': 'fake_id', 'datetime': 1580482336929, 'speed': {'level': 10}}

如何在此输出中包含嵌套字段?任何关于示例代码的帮助都将不胜感激!谢谢


Tags: idfieldsdatetime序列化schemaintegerlevelfake