我正在使用 Marshmallow 库进行数据验证和序列化。我允许架构中的某些字段使用 None 值,但即使我设置了allow_none = True,我仍然收到验证错误。
class MySchema(Schema):
name = fields.String(required=True, allow_none=True)
age = fields.Integer(allow_none=True)
schema = MySchema()
data = {"name": None, "age": None}
result = schema.load(data)
print(result)
即使allow_none = True,为什么“名称”字段验证失败?
为什么姓名和年龄字段的设置不同?您的年龄字段已正确定义,因此只需将其复制到姓名字段即可。
您已设置 required=True 这意味着您不能省略“名称”字段。从名称字段中删除“required=True”。