У меня есть следующий фрагмент схемы Cerberus 1.3.2 (который я храню в виде файла YAML):
members:
dependencies:
res_type: gsuite_group
type: dict
keysrules:
allowed:
- gsuite
- csod
schema: gsuite_group_schema
Поскольку правила, которые я использую для members
, повторно используются в другие части схемы, я пытался выделить их в их собственный набор правил:
rules_set_registry.add('gsuite_group_ruleset', {
'dependencies': {'res_type': 'gsuite_group'},
'type': 'dict',
'keysrules': {'allowed': ['gsuite', 'csod']},
'schema': 'gsuite_group_schema'}
)
Затем я изменяю бит members
на:
members: gsuite_group_ruleset
Делая все это и вызов validator.validate()
приводит к следующему исключению:
File "C:\Users\goncalo.lourenco\.virtualenvs\User_Sync-Zf6-tVvH\lib\site-packages\cerberus\validator.py", line 1440, in __validate_schema_mapping
allow_unknown = self.schema[field].get('allow_unknown', self.allow_unknown)
AttributeError: 'str' object has no attribute 'get'
Любые идеи относительно того, почему это может происходить?