From 7fade13ac8696e529c070a42349951cdba8b4987 Mon Sep 17 00:00:00 2001 From: sneakers-the-rat Date: Sat, 8 Mar 2025 17:37:32 -0800 Subject: [PATCH] fix just the extra values problem (again, purposefully with failing tests to demonstrate the problem, fixing in next commit) --- fastapi/dependencies/utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py index e2a668222..20d4c5a2f 100644 --- a/fastapi/dependencies/utils.py +++ b/fastapi/dependencies/utils.py @@ -838,6 +838,7 @@ async def _extract_form_body( received_body: FormData, ) -> Dict[str, Any]: values = {} + field_aliases = {field.alias for field in body_fields} first_field = body_fields[0] first_field_info = first_field.field_info @@ -870,8 +871,10 @@ async def _extract_form_body( value = serialize_sequence_value(field=field, value=results) if value is not None: values[field.alias] = value + + # preserve extra keys not in model body fields for validation for key, value in received_body.items(): - if key not in values: + if key not in field_aliases: values[key] = value return values