Зефир: десериализация для вложенных полей с использованием load ({}). Data - PullRequest
0 голосов
/ 31 января 2020

Я вижу, что этот сценарий уже задавался, поэтому заранее извиняюсь за этот повторяющийся случай. Я пытаюсь десериализовать схему с вложенными полями. Вот пример:

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}

Я ожидал, что вложенное поле: скорость будет включено в этот вывод, так как оно имеет уровень со значением 10 уже назначено. Таким образом, выходные данные должны быть такими:

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

Как включить вложенное поле в этот вывод? Любая помощь с примером кода будет принята с благодарностью! Спасибо!

...