我已经尽可能多地搜索了这个,阅读了文档,查看了各种帖子,但我开始相信这是不可能的。所以我想要一个 Flask 应用程序的部分验证模式,像这样的棉花糖
from marshmallow import Schema, fields, validate
class MySchema(Schema):
product_type = fields.Str(required=True, allow_none=True)
并且我想验证字典并确保它具有
product_type
字段。现在这本字典可能有许多我不知道的其他字段,但我不在乎,我想部分验证 product_type
是否存在。例如:
data={"product_type":"consumable","other_field1":67,"other_field2":"info"...}
无论有什么字段,都会通过,但只有在缺少产品类型时才会失败。 这是怎么做到的?
在棉花糖文档中有一个部分“处理未知字段”,它解释了如何处理未知字段。除了导致验证错误的标准过程之外,还可以选择排除字段或包含并接受它们。以下示例仅展示了一种使用方法。
from marshmallow import Schema, fields, validate, INCLUDE
class MySchema(Schema):
class Meta:
unknown = INCLUDE
product_type = fields.Str(required=True, allow_none=True)