【发布时间】:2016-01-09 06:14:40
【问题描述】:
我有一个简单的问题,我不确定处理它的最佳方法。我的架构定义如下:
class MySchema(Schema):
title = fields.String(required=True)
imageUrl = fields.Url()
imageUrl 是一个可选字段,有时它会是 None/null。如果发生这种情况,没关系,它不需要是有效的 url。但是当我这样做时:
my_schema.load(request.get_json())
对于 PUT 的传入数据,url 字段记录错误:Field may not be null.
我认为在 load 调用中使用 partial=True 会起作用,但事实并非如此。我也不喜欢这样,因为这不是部分对象,而是完整对象,恰好我的一些字段在数据库中可以为空。
当 imageUrl 为非 null 时如何让 marshmallow 验证它,但在它为 null 时忽略它?
【问题讨论】:
标签: marshmallow