model_fields_schema
Returns a schema that matches the fields of a Pydantic model, e.g.:
from pydantic_core import SchemaValidator, core_schema
wrapper_schema = core_schema.model_fields_schema(
{'a': core_schema.model_field(core_schema.str_schema())}
)
v = SchemaValidator(wrapper_schema)
print(v.validate_python({'a': 'hello'}))
# > ({'a': 'hello'}, None, {'a'})
def model_fields_schema(
fields: dict[str, ModelField],
model_name: str | None = None,
computed_fields: list[ComputedField] | None = None,
strict: bool | None = None,
extras_schema: CoreSchema | None = None,
extras_keys_schema: CoreSchema | None = None,
extra_behavior: ExtraBehavior | None = None,
from_attributes: bool | None = None,
ref: str | None = None,
metadata: dict[str, Any] | None = None,
serialization: SerSchema | None = None
) - > ModelFieldsSchema
Returns a schema that matches the fields of a Pydantic model.
Parameters
| Name | Type | Description |
|---|---|---|
| fields | dict[str, ModelField] | A mapping of field names to their respective ModelField definitions. |
| model_name | `str | None` = None |
| computed_fields | `list[ComputedField] | None` = None |
| strict | `bool | None` = None |
| extras_schema | `CoreSchema | None` = None |
| extras_keys_schema | `CoreSchema | None` = None |
| extra_behavior | `ExtraBehavior | None` = None |
| from_attributes | `bool | None` = None |
| ref | `str | None` = None |
| metadata | `dict[str, Any] | None` = None |
| serialization | `SerSchema | None` = None |
Returns
| Type | Description |
|---|---|
ModelFieldsSchema | A core schema dictionary representing the structure and validation rules for Pydantic model fields. |