字典验证Cerberus使用保留关键字

时间:2018-05-21 21:42:26

标签: python validation cerberus

我有一个python字典,我试图使用cerberus进行验证。但是,我的dict中的一个字段称为"type",它与cerberus解析器保留的关键字"type"冲突。

有没有办法解决这个问题,而无需更改原始字典?

有问题

    {
        {
            ...
            "db": {
                "type": "AzureTables",
                ...
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

所以,如果没有看到你正在使用的架构,我在这里做了一个有根据的猜测。

schema = {
'db': {'type': 'dict',
       'schema': {
            'type': {'type': 'string'},
            'some_field': {'type': 'integer'}

       }
      }
}

document = {
      'db': {'type': 'AzureTables',
             'some_field': 5}
}

上述模式验证后面的文档没有错误。我的猜测是你错过了schema规则。如上所述,如果您将密钥放在schema规则中,Cerberus将允许您使用保留的字典密钥。