diff --git a/docs/examples/schema_with_field.py b/docs/examples/schema_with_field.py index 9288efd8cd..860903e55b 100644 --- a/docs/examples/schema_with_field.py +++ b/docs/examples/schema_with_field.py @@ -1,5 +1,5 @@ # output-json -from typing import Optional +from typing import Any, Callable, Dict, Generator, Optional from pydantic import BaseModel, Field from pydantic.fields import ModelField @@ -7,18 +7,20 @@ class RestrictedAlphabetStr(str): @classmethod - def __get_validators__(cls): + def __get_validators__(cls) -> Generator[Callable, None, None]: yield cls.validate @classmethod - def validate(cls, value, field: ModelField): + def validate(cls, value: str, field: ModelField): alphabet = field.field_info.extra['alphabet'] if any(c not in alphabet for c in value): raise ValueError(f'{value!r} is not restricted to {alphabet!r}') return cls(value) @classmethod - def __modify_schema__(cls, field_schema, field: Optional[ModelField]): + def __modify_schema__( + cls, field_schema: Dict[str, Any], field: Optional[ModelField] + ): if field: alphabet = field.field_info.extra['alphabet'] field_schema['examples'] = [c * 3 for c in alphabet]