我是使用烧瓶/棉花糖的新手,我有一个看起来像这样的对象:
{'field_0': {'field_1': {'field_2': {'field_3': '...', 'value': 'this is the value I want'}}}}
是否可以在不创建 4 个嵌套类的情况下使用棉花糖为此定义模式?
我是使用烧瓶/棉花糖的新手,我有一个看起来像这样的对象:
{'field_0': {'field_1': {'field_2': {'field_3': '...', 'value': 'this is the value I want'}}}}
是否可以在不创建 4 个嵌套类的情况下使用棉花糖为此定义模式?
并不真地。
这是规范的方式(降低 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
您还可以使用元编程(用于构建模式类)发明复杂的方法,但总体而言,最简单的方法是上面的第一种方法。