(
name: str,
type_: Any,
default: Any | None = Undefined,
field_info: FieldInfo | None = None,
alias: str | None = None,
mode: Literal["validation", "serialization"] = "validation",
)
| 56 | |
| 57 | |
| 58 | def create_model_field( |
| 59 | name: str, |
| 60 | type_: Any, |
| 61 | default: Any | None = Undefined, |
| 62 | field_info: FieldInfo | None = None, |
| 63 | alias: str | None = None, |
| 64 | mode: Literal["validation", "serialization"] = "validation", |
| 65 | ) -> ModelField: |
| 66 | if annotation_is_pydantic_v1(type_): |
| 67 | raise PydanticV1NotSupportedError( |
| 68 | "pydantic.v1 models are no longer supported by FastAPI." |
| 69 | f" Please update the response model {type_!r}." |
| 70 | ) |
| 71 | field_info = field_info or FieldInfo(annotation=type_, default=default, alias=alias) |
| 72 | try: |
| 73 | return v2.ModelField(mode=mode, name=name, field_info=field_info) |
| 74 | except PydanticSchemaGenerationError: |
| 75 | raise fastapi.exceptions.FastAPIError( |
| 76 | _invalid_args_message.format(type_=type_) |
| 77 | ) from None |
| 78 | |
| 79 | |
| 80 | def generate_operation_id_for_path( |
no test coverage detected
searching dependent graphs…