From 0edf6ad5138406593b8e41793c67efa95ac5308d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:07:57 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Auto=20format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- benchmark_encoder.py | 8 ++++---- fastapi/encoders.py | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/benchmark_encoder.py b/benchmark_encoder.py index c46ea3f1a..c50e75fa8 100644 --- a/benchmark_encoder.py +++ b/benchmark_encoder.py @@ -1,7 +1,7 @@ import time -from typing import List, Optional -from pydantic import BaseModel + from fastapi.encoders import jsonable_encoder +from pydantic import BaseModel class SubModel(BaseModel): @@ -13,8 +13,8 @@ class MainModel(BaseModel): id: int title: str sub: SubModel - items: List[SubModel] - maybe: Optional[str] = None + items: list[SubModel] + maybe: str | None = None def run_benchmark(): diff --git a/fastapi/encoders.py b/fastapi/encoders.py index 06de643d4..fab66b6d6 100644 --- a/fastapi/encoders.py +++ b/fastapi/encoders.py @@ -254,7 +254,8 @@ def jsonable_encoder( if not sqlalchemy_safe: return obj_dict return { - k: v for k, v in obj_dict.items() + k: v + for k, v in obj_dict.items() if not (isinstance(k, str) and k.startswith("_sa")) } # Fallback to recursive call for recursive exclude_none/exclude_defaults cleanup