union_schema
Returns a schema that matches a union value, e.g.:
from pydantic_core import SchemaValidator, core_schema
schema = core_schema.union_schema([core_schema.str_schema(), core_schema.int_schema()])
v = SchemaValidator(schema)
assert v.validate_python('hello') == 'hello'
assert v.validate_python(1) == 1
def union_schema(
choices: list[CoreSchema | tuple[CoreSchema, str]],
auto_collapse: bool | None = None,
custom_error_type: str | None = None,
custom_error_message: str | None = None,
custom_error_context: dict[str, str | int] | None = None,
mode: Literal['smart', 'left_to_right'] | None = None,
ref: str | None = None,
metadata: dict[str, Any] | None = None,
serialization: SerSchema | None = None
) - > UnionSchema
Returns a schema that matches a union value.
Parameters
| Name | Type | Description |
|---|---|---|
| choices | `list[CoreSchema | tuple[CoreSchema, str]]` |
| auto_collapse | `bool | None` = None |
| custom_error_type | `str | None` = None |
| custom_error_message | `str | None` = None |
| custom_error_context | `dict[str, str | int] |
| mode | `Literal['smart', 'left_to_right'] | None` = None |
| ref | `str | None` = None |
| metadata | `dict[str, Any] | None` = None |
| serialization | `SerSchema | None` = None |
Returns
| Type | Description |
|---|---|
UnionSchema | A core schema definition representing a union of multiple possible types. |