dataclass_args_schema
Returns a schema for validating dataclass arguments, e.g.:
from pydantic_core import SchemaValidator, core_schema
field_a = core_schema.dataclass_field(
name='a', schema=core_schema.str_schema(), kw_only=False
)
field_b = core_schema.dataclass_field(
name='b', schema=core_schema.bool_schema(), kw_only=False
)
schema = core_schema.dataclass_args_schema('Foobar', [field_a, field_b])
v = SchemaValidator(schema)
assert v.validate_python({'a': 'hello', 'b': True}) == ({'a': 'hello', 'b': True}, None)
def dataclass_args_schema(
dataclass_name: str,
fields: list[DataclassField],
computed_fields: list[ComputedField] | None = None,
collect_init_only: bool | None = None,
ref: str | None = None,
metadata: dict[str, Any] | None = None,
serialization: SerSchema | None = None,
extra_behavior: ExtraBehavior | None = None
) - > DataclassArgsSchema
Returns a schema for validating dataclass arguments.
Parameters
| Name | Type | Description |
|---|---|---|
| dataclass_name | str | The name of the dataclass being validated, used for error messages and identification. |
| fields | list[DataclassField] | A list of field definitions that describe the expected arguments for the dataclass. |
| computed_fields | `list[ComputedField] | None` = None |
| collect_init_only | `bool | None` = None |
| ref | `str | None` = None |
| metadata | `dict[str, Any] | None` = None |
| serialization | `SerSchema | None` = None |
| extra_behavior | `ExtraBehavior | None` = None |
Returns
| Type | Description |
|---|---|
DataclassArgsSchema | A dictionary-based schema definition used by pydantic-core to validate and initialize dataclass arguments. |