Python 忽略棉花糖中无效嵌套多字段的实例
在中,是否可以省略验证失败而父模式未失败的嵌套模式的实例?例如,Atom提要可以有许多条目。如果一个条目缺少必填字段,是否可以省略该条目,以便提要及其正确解析的条目在没有失败条目的情况下通过验证Python 忽略棉花糖中无效嵌套多字段的实例,python,python-3.x,marshmallow,Python,Python 3.x,Marshmallow,在中,是否可以省略验证失败而父模式未失败的嵌套模式的实例?例如,Atom提要可以有许多条目。如果一个条目缺少必填字段,是否可以省略该条目,以便提要及其正确解析的条目在没有失败条目的情况下通过验证 来自棉花糖导入模式 类提要(架构): “”“Atom/RSS源。”“” ... 条目=字段。嵌套('Entry',many=True) ... 类条目(架构): “”“Atom/RSS源的文章。”“” ... title=fields.String(必需=True) link=fields.Url(必需
来自棉花糖导入模式
类提要(架构):
“”“Atom/RSS源。”“”
...
条目=字段。嵌套('Entry',many=True)
...
类条目(架构):
“”“Atom/RSS源的文章。”“”
...
title=fields.String(必需=True)
link=fields.Url(必需=True)
...
在验证提要之前
...
"entries": [
{
"title": "Title A",
"link": "http://httpbin.org/status/200"
},
{
"title": "",
"link": "",
},
{
"title": "Title C",
"link": "http://httpbin.org/status/200"
},
]
...
...
"entries": [
{
"title": "Title A",
"link": "http://httpbin.org/status/200"
},
{
"title": "Title C",
"link": "http://httpbin.org/status/200"
},
]
...
验证提要后
...
"entries": [
{
"title": "Title A",
"link": "http://httpbin.org/status/200"
},
{
"title": "",
"link": "",
},
{
"title": "Title C",
"link": "http://httpbin.org/status/200"
},
]
...
...
"entries": [
{
"title": "Title A",
"link": "http://httpbin.org/status/200"
},
{
"title": "Title C",
"link": "http://httpbin.org/status/200"
},
]
...
decorator可用于过滤嵌套字段,但我假设每个嵌套模式反序列化两次:一次在预加载期间,一次在加载期间
类提要(架构):
...
条目=字段。嵌套('Entry',many=True)
...
@预加载
def过滤器_条目(自身、数据、**kwargs):
schema=Entry()
过滤=[]
对于数据['entries']中的条目:
尝试:
filtered.append(schema.load(条目))
除ValidationError外:
持续
数据['entries']=已筛选
返回数据