Cerberus 模式验证依赖性取决于自我价值

Cerberus schema validation dependency depending of self value

我知道根据Cerberusdocumentation,可以定义验证依赖,根据其他键值,如:

schema = {'field1': {'required': False}, 
          'field2': {'required': True, 
                     'dependencies': {'field1': ['one', 'two']}}}

其中 field2 仅当 field1 存在且值为 onetwo.

时才有效

我想知道是否有一种方法可以根据密钥本身的值来考虑验证规则。

类似于:field2 仅当 field2 值为 True 时才需要 field1False,反之亦然。

一次只能允许其中一个字段为 True

这可能可以通过结合使用 dependenciesoneof (docs) 规则来解决。

但是,目前存在一个问题,可能会阻止此解决方案运行 (ticket)。不幸的是,我现在没有时间对此进行分类,但您可以试一试并返回此处报告,并最终在票证上进行报告。祝你好运!