Как валидировать некоторые поля в большом вложенном json'e с помощью Pydantic?

Есть небольшой пример:

    data = {
    # A lot of data here
    'json_data_feed':
        {'address':
             {'name': 'home_sweet_home'}
         }
    # A lot of data here
}

Мне нет необходимости делать валидацию всего json, нужно забрать некоторые поля. Попробовал так:

class OfferById(pydantic.BaseModel):
short_address: str = pydantic.Field(..., alias='name')

@pydantic.validator('short_address', pre=True)
def validate_short_address(cls, value):
    return value['json_data_feed']['address']

Падает с ошибкой вида:

    Some = OfferById(**data)
  File "pydantic/main.py", line 406, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for OfferById
name
  field required (type=value_error.missing)

Есть ли способы для такой валидации? Заранее спасибо


Ответы (0 шт):