Я пытаюсь построить рекурсивную схему с использованием цербера, но, похоже, упускаю суть того, как она должна работать. Может ли кто-нибудь помочь мне?
В документации и старых проблемах в репозитории объясняется, что способ обработки рекурсии заключается в использовании реестров схемы для создания схемы со ссылками, в противном случае мы достигаем пределов глубины рекурсии.
Однако попытка чего-то очень простого приводит к ошибке TypeError.
Было бы здорово получить пример рекурсии схемы в документации, пожалуйста! Я был бы рад помочь представить его, как только я пойму, что происходит.
cerberus.schema_registry.add(
'user_schema',
{
'uid': {
'type': 'integer'
},
'next': {
'type': 'list',
'schema': 'user_schema'
}
}
)
schema = {'sender': {'schema': 'user_schema'}}
v = cerberus.Validator(schema=schema)
v.validate({
'sender': {
'uid': 1,
'next': [
{
'uid': 1,
}
]
}
})
Запуск вышеуказанного приводит к следующему необработанному исключению:
TypeError: argument of type 'NoneType' is not iterable
Помощь будет очень признателен!