Python marshmallow:如何允许多个模式到一个模式的字段?

Mr.*_* B. 5 python polymorphism serialization marshmallow

我想声明一个架构字段来接受不同的架构类型,但不是任何.

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()]  # <- !
Run Code Online (Sandbox Code Playgroud)

Jér*_*ôme 4

您想要实现的目标称为多态性。

Marshmallow 尚不支持这一点,但这是一个经常出现的问题,我一直在使用多态性标签标记 bugtracker 中的所有相关问题。

例如,请参见https://github.com/marshmallow-code/marshmallow/issues/1255

目前有两个库添加了此支持:

他们都有各自的优点/缺点。