我有一个python字典,我试图使用cerberus进行验证。但是,我的dict中的一个字段称为"type"
,它与cerberus解析器保留的关键字"type"
冲突。
有没有办法解决这个问题,而无需更改原始字典?
有问题
{
{
...
"db": {
"type": "AzureTables",
...
}
}
}
答案 0 :(得分:1)
所以,如果没有看到你正在使用的架构,我在这里做了一个有根据的猜测。
schema = {
'db': {'type': 'dict',
'schema': {
'type': {'type': 'string'},
'some_field': {'type': 'integer'}
}
}
}
document = {
'db': {'type': 'AzureTables',
'some_field': 5}
}
上述模式验证后面的文档没有错误。我的猜测是你错过了schema
规则。如上所述,如果您将密钥放在schema
规则中,Cerberus将允许您使用保留的字典密钥。