Я занимаюсь разработкой приложения FastAPI. У меня со следующей схемой
class Address(BaseModel):
address_string: str = Field(None)
address_street: str = Field(None)
addres_number: str = Field(None)
Мне бы хотелось, чтобы поле address_string требовалось условно, если address_street и addres_number отсутствуют, и наоборот, address_street и address_number требуются, если address_street нет.
В настоящее время я управляю этим, делая все поля необязательными и используя root_validator для проверки согласованности, и документируя это условное требование в описании соответствующих полей.
Существует ли более чистый способ управления этим встроенным в FastAPI?