From 801e0a3edb377b57f98a4eef7cada44a84738c2e Mon Sep 17 00:00:00 2001 From: JONEMI21 Date: Mon, 9 Feb 2026 09:44:26 +0000 Subject: [PATCH] fmt --- fastapi/_compat/__init__.py | 6 ++++++ fastapi/dependencies/utils.py | 27 ++++++++++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/fastapi/_compat/__init__.py b/fastapi/_compat/__init__.py index 4581c38c8..2152e7a11 100644 --- a/fastapi/_compat/__init__.py +++ b/fastapi/_compat/__init__.py @@ -1,9 +1,15 @@ from .shared import PYDANTIC_VERSION_MINOR_TUPLE as PYDANTIC_VERSION_MINOR_TUPLE from .shared import annotation_is_pydantic_v1 as annotation_is_pydantic_v1 from .shared import field_annotation_is_scalar as field_annotation_is_scalar +from .shared import ( + field_annotation_is_scalar_mapping as field_annotation_is_scalar_mapping, +) from .shared import ( field_annotation_is_scalar_sequence as field_annotation_is_scalar_sequence, ) +from .shared import ( + field_annotation_is_scalar_sequence_mapping as field_annotation_is_scalar_sequence_mapping, +) from .shared import field_annotation_is_sequence as field_annotation_is_sequence from .shared import ( is_bytes_or_nonable_bytes_annotation as is_bytes_or_nonable_bytes_annotation, diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py index 2d21ca795..34bc68e2c 100644 --- a/fastapi/dependencies/utils.py +++ b/fastapi/dependencies/utils.py @@ -26,18 +26,16 @@ from fastapi._compat import ( evaluate_forwardref, field_annotation_is_scalar, field_annotation_is_scalar_mapping, - field_annotation_is_scalar_sequence_mapping, + field_annotation_is_scalar_mapping_field, field_annotation_is_scalar_sequence, + field_annotation_is_scalar_sequence_mapping, + field_annotation_is_scalar_sequence_mapping_field, field_annotation_is_sequence, get_cached_model_fields, get_missing_field_error, is_bytes_or_nonable_bytes_annotation, is_bytes_sequence_annotation, is_scalar_field, - is_scalar_mapping_field, - is_scalar_sequence_field, - is_scalar_sequence_mapping_field, - is_sequence_field, is_uploadfile_or_nonable_uploadfile_annotation, is_uploadfile_sequence_annotation, lenient_issubclass, @@ -542,7 +540,9 @@ def analyze_param( assert ( is_scalar_field(field) or field_annotation_is_scalar_mapping_field(field.field_info.annotation) - or field_annotation_is_scalar_sequence_mapping_field(field.field_info.annotation) + or field_annotation_is_scalar_sequence_mapping_field( + field.field_info.annotation + ) or field_annotation_is_scalar_sequence(field.field_info.annotation) or lenient_issubclass(field.field_info.annotation, BaseModel) ), f"Query parameter {param_name!r} must be one of the supported types" @@ -755,11 +755,17 @@ def _get_multidict_value( value = values.getlist(alias) elif alias in values: value = values[alias] - elif values and is_scalar_mapping_field(field) and isinstance(values, QueryParams): + elif ( + values + and field_annotation_is_scalar_mapping_field(field.field_info.annotation) + and isinstance(values, QueryParams) + ): value = dict(values) elif ( values - and is_scalar_sequence_mapping_field(field) + and field_annotation_is_scalar_sequence_mapping_field( + field.field_info.annotation + ) and isinstance(values, QueryParams) ): value = {key: values.getlist(key) for key in values.keys()} @@ -868,7 +874,10 @@ def request_params_to_args( # specified as individual fields for field in fields: if isinstance(values.get(field.name), dict) and ( - is_scalar_mapping_field(field) or is_scalar_sequence_mapping_field(field) + field_annotation_is_scalar_mapping_field(field.field_info.annotation) + or field_annotation_is_scalar_sequence_mapping_field( + field.field_info.annotation + ) ): for f_ in fields: values[field.name].pop(f_.alias, None)