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, 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)
Parameters
| Name | Type | Description |
|---|---|---|
| dataclass_name | str | The name of the dataclass being validated |
| fields | list[DataclassField] | The fields to use 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 core schema dictionary defining how to validate and parse arguments for a specific dataclass structure |