是否可以在 Marshmallow ( https://marshmallow.readthedocs.io/en/latest/ )中使用内部类作为嵌套模式?
我试图在棉花糖中表示一个分层模式,这似乎是通过嵌套模式完成的。例如,我有一个Method
对象,它有一个Params
属性,它本身就是一个对象。我可以将其表示为:
class MethodParamsSchema(Schema):
a = fields.String()
b = fields.Int()
class MethodSchema(Schema):
name = fields.String()
params = fields.Nested(MethodParamsSchema)
我想做的是:
class MethodSchema(Schema):
class MethodParamsSchema(Schema):
a = fields.String()
b = fields.Int()
name = fields.String()
params = fields.Nested('MethodSchema.MethodParamsSchema')
但这失败并出现错误:
找不到名为“MethodSchema.MethodParamsSchema”的类。您可能需要导入该类。
我想这样做的原因是因为我的模式是相当分层的,我想将相关项目组合在一起。有没有办法做到这一点?