Как проверить один ключ на основе другого в Colander Python?

#python-3.x #pylons #colander

#python-3.x #пилоны #дуршлаг

Вопрос:

Я использую дуршлаг для проверки и хотел бы проверить один ключ на основе другого.

например: я хотел бы проверить значение поля на основе значения объекта:

 class ValidationSchema(Validator.MappingSchema):
    entity = Validator.SchemaNode(Validator.String())
    field = Validator.SchemaNode(Validator.String(), missing=Validator.drop)

try:
    values = {"entity":"a", "field":"field1"}
    parameters = ValidationSchema().deserialize()
except Validator.Invalid as e:
    errors = e.asdict()
    return
 

Если сущность есть a , то поле должно быть field1
Если сущность есть b , то поле должно быть field2
Если объект отсутствует, не проверяйте ключ поля

Как это может быть реализовано?