我正在使用一个返回类似以下内容的API:
{'name': 'foo', 'start': {'date': '2016-06-19', 'time': '18:00'}}
我想使用marshmallow对其进行反序列化,仅获取名称和开始日期,因此期望的结果如下:
{'name': 'foo', 'date': '2016-06-19'}
但我还没有找到获取日期的方法,这是我所尝试过的:
from marshmallow import Schema, fields, pprint
event = {'name': 'foo', 'start': {'date': '2016-06-19', 'time': '18:00'}}
class EventSchema(Schema):
name = fields.Str()
date = fields.Str(load_from='start.date')
schema = EventSchema()
result = schema.load(event)
pprint(result.data)
load_from='start.date'
是不正确的。 - Ivan Virabyanload_from
和dump_to
被替换为data_key
参数:https://marshmallow.readthedocs.io/en/dev/api_reference.html?highlight=load_from#module-marshmallow.fields - jket