У меня есть структура данных, которая выглядит так: name
— это произвольная строка, которая не может быть определенными значениями (src
)
{
'name' : 'stringvalue',
'src' : 'who cares this is wrong'
}
Я бы хотел, чтобы cerberus проверял, что ключи — это что угодно, кроме src
или alsoBad
, но все примеры схемы, которые я вижу, требуют, чтобы я указывал формат для данного имени.
Я пробовал это:
def check_data(type_data):
val = cerberus.Validator()
val.allow_unknown={'forbidden' : ['src','alsoBad']}
val.validate(type_data,{})
С мыслью, что пустая схема заставит allow_unknown
работать. Но это не находит проблему.
Затем я попробовал:
def check_data(type_data):
val = cerberus.Validator()
val.allow_unknown=
val.validate(type_data,{'any_field':{'forbidden' : ['src','alsoBad']}})
Но это также не удалось поймать проблему.
Как проверить ключи первого уровня в словаре, когда они могут быть чем угодно?
src
илиalsoBad
, но все еще не видит, как проверить сами имена полей. - person Ray Salemi   schedule 04.04.2018