Skip to content
You're viewing docs for v2.9. See the latest version →

Errors

Pydantic-specific errors.

PydanticErrorMixin

A mixin class for common functionality shared by all Pydantic-specific errors.

Attributes

message

Default: message

code

Default: code


PydanticUserError

Bases: PydanticErrorMixin, TypeError

An error raised due to incorrect use of Pydantic.


PydanticUndefinedAnnotation

Bases: PydanticErrorMixin, NameError

A subclass of NameError raised when handling undefined annotations during CoreSchema generation.

Attributes

name

Default: name

Methods

from_name_error

@classmethod

def from_name_error(cls, name_error: NameError) -> Self

Convert a NameError to a PydanticUndefinedAnnotation error.

Returns

Self — Converted PydanticUndefinedAnnotation error.

Parameters

name_error : NameError

NameError to be converted.


PydanticImportError

Bases: PydanticErrorMixin, ImportError

An error raised when an import fails due to module changes between V1 and V2.


PydanticSchemaGenerationError

Bases: PydanticUserError

An error raised during failures to generate a CoreSchema for some type.


PydanticInvalidForJsonSchema

Bases: PydanticUserError

An error raised during failures to generate a JSON schema for some CoreSchema.


getattr_migration

def getattr_migration(module: str) -> Callable[[str], Any]

Implement PEP 562 for objects that were either moved or removed on the migration to V2.

Returns

Callable[[str], Any] — A callable that will raise an error if the object is not found.

Parameters

module : str

The module name.


version_short

def version_short() -> str

Return the major.minor part of Pydantic version.

It returns ‘2.1’ if Pydantic version is ‘2.1.1’.

Returns

str


DEV_ERROR_DOCS_URL

Default: f'https://errors.pydantic.dev/\{version_short()\}/u/'

PydanticErrorCodes

Default: Literal['class-not-fully-defined', 'custom-json-schema', 'decorator-missing-field', 'discriminator-no-field', 'discriminator-alias-type', 'discriminator-needs-literal', 'discriminator-alias', 'discriminator-validator', 'callable-discriminator-no-tag', 'typed-dict-version', 'model-field-overridden', 'model-field-missing-annotation', 'config-both', 'removed-kwargs', 'invalid-for-json-schema', 'json-schema-already-used', 'base-model-instantiated', 'undefined-annotation', 'schema-for-unknown-type', 'import-error', 'create-model-field-definitions', 'create-model-config-base', 'validator-no-fields', 'validator-invalid-fields', 'validator-instance-method', 'validator-input-type', 'root-validator-pre-skip', 'model-serializer-instance-method', 'validator-field-config-info', 'validator-v1-signature', 'validator-signature', 'field-serializer-signature', 'model-serializer-signature', 'multiple-field-serializers', 'invalid-annotated-type', 'type-adapter-config-unused', 'root-model-extra', 'unevaluable-type-annotation', 'dataclass-init-false-extra-allow', 'clashing-init-and-init-var', 'model-config-invalid-field-name', 'with-config-on-model', 'dataclass-on-model']