使用棉花糖进行部分验证以忽略未知字段

问题描述 投票:0回答:1

我已经尽可能多地搜索了这个,阅读了文档,查看了各种帖子,但我开始相信这是不可能的。所以我想要一个 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"...} 

无论有什么字段,都会通过,但只有在缺少产品类型时才会失败。 这是怎么做到的?

python validation flask marshmallow
1个回答
0
投票

在棉花糖文档中有一个部分“处理未知字段”,它解释了如何处理未知字段。除了导致验证错误的标准过程之外,还可以选择排除字段或包含并接受它们。以下示例仅展示了一种使用方法。

from marshmallow import Schema, fields, validate, INCLUDE

class MySchema(Schema):
    class Meta:
        unknown = INCLUDE
    
    product_type = fields.Str(required=True, allow_none=True)
© www.soinside.com 2019 - 2024. All rights reserved.