Не совсем.
Вот канонический способ (сбросив 2 уровня для упрощения примера)
class Inner(ma.Schema):
field_3 = ma.fields.IntField()
value = ma.fields.StringField()
class Outer(ma.Schema):
field_1 = ma.fields.Nested(Inner)
Вы можете использовать from_dict
:
Outer = ma.Schema.from_dict("field_1": ma.fields.Nested(ma.Schema.from_dict("field_3": ma.fields.Int(), "value": ma.fields.String())
Вы также можете изобрести сложный способ с метапрограммированием (используя type
для построения классов схемы), но в целом самый простой способ - это первый из приведенных выше.