0

我是使用烧瓶/棉花糖的新手,我有一个看起来像这样的对象:

{'field_0': {'field_1': {'field_2': {'field_3': '...', 'value': 'this is the value I want'}}}}

是否可以在不创建 4 个嵌套类的情况下使用棉花糖为此定义模式?

4

1 回答 1

0

并不真地。

这是规范的方式(降低 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您还可以使用元编程(用于构建模式类)发明复杂的方法,但总体而言,最简单的方法是上面的第一种方法。

于 2020-06-17T22:57:21.213 回答