-1

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

有什么办法可以在不更改原始字典的情况下解决这个问题?

有问题的部分

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

1 回答 1

1

因此,在没有看到您正在使用的架构的情况下,我在这里做出有根据的猜测。

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

       }
      }
}

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

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

于 2018-06-03T17:23:02.893 回答