我想声明一个模式字段来接受不同的模式类型,但不是任何 .
Marshmallow 是否可能出现以下情况?
class SchemaA(Schema):
name = String()
class SchemaB(Schema):
name = String()
age = Integer()
class SchemaC(Schema)
one_of_many_but_not_any = [SchemaA(), SchemaB(), String()] # <- !
最佳答案
您要实现的目标称为多态性。
marshmallow 尚不支持这一点,但这是一个反复出现的问题,我一直在使用 polymorphism 标记错误跟踪器中的所有相关问题。标签。
参见例如 https://github.com/marshmallow-code/marshmallow/issues/1255 .
目前有两个库添加了此支持:
他们都有自己的优点/缺点。
关于 python 棉花糖 : how to allow multiple Schemas to a Schema's field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58480350/