FastAPI アプリケーションを開発しています。私は次のスキーマを持っています
class Address(BaseModel):
address_string: str = Field(None)
address_street: str = Field(None)
addres_number: str = Field(None)
address_street と addres_number が存在しない場合はフィールド address_string が条件付きで必要になり、逆に、address_street が存在しない場合は address_street と address_number が必要になります。
現在、すべてのフィールドをオプションにし、root_validator を使用して一貫性をチェックし、関連するフィールドの説明にこの条件付き要件を文書化することで、これを管理しています。
このビルトインを FastAPI で管理するよりクリーンな方法はありますか?