我是不熟悉烧瓶/棉花糖的人,并且有一个看起来像这样的对象:
{'field_0': {'field_1': {'field_2': {'field_3': '...', 'value': 'this is the value I want'}}}}
是否可以使用蛋白软糖为此定义一个架构,而无需创建4个嵌套类?
答案 0 :(得分: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
来构建模式类),但是总的来说,最简单的方法是上面的第一个方法。