使用自定义实例化的对象的可选漏勺字段 class

Optional Colander Field for object instantiated using custom class

我想使使用漏勺制作的模型中的某些字段成为可选字段。
我熟悉使用 missing=colander.drop 但这仅在定义 SchemaNode 时有效。
如果该字段是使用自定义 class 定义的,比如 customeClass = CustomClass(),如何将其设为可选?
以下是片段:

import colander
class Image(colander.MappingSchema):
    url = colander.SchemaNode(colander.String())
    width = colander.SchemaNode(colander.Int())
    height = colander.SchemaNode(colander.Int())

class Post(colander.MappingSchema):
    id = colander.SchemaNode(colander.Int())
    text = colander.SchemaNode(colander.String())
    score = colander.SchemaNode(colander.Int())
    created_time = colander.SchemaNode(colander.Int())
    attachedImage = Image() # I want to make this as optional

为了使自定义 Class 对象成为可选对象,我们可以传递相同的 missing=colander.drop 作为构造函数参数。

示例:

import colander
class Image(colander.MappingSchema):
    url = colander.SchemaNode(colander.String())
    width = colander.SchemaNode(colander.Int())
    height = colander.SchemaNode(colander.Int())

class Post(colander.MappingSchema):
    id = colander.SchemaNode(colander.Int())
    text = colander.SchemaNode(colander.String())
    score = colander.SchemaNode(colander.Int())
    created_time = colander.SchemaNode(colander.Int())
    attachedImage = Image(missing=colander.drop) # The difference