Browse Source

refactor: simplify SQLAlchemy instance handling in jsonable_encoder by delegating to recursive calls

pull/15965/head
Your Name 4 weeks ago
parent
commit
5fbb8556ce
  1. 13
      fastapi/encoders.py

13
fastapi/encoders.py

@ -268,13 +268,12 @@ def jsonable_encoder(
exclude_none=exclude_none, exclude_none=exclude_none,
exclude_defaults=exclude_defaults, exclude_defaults=exclude_defaults,
) )
if not sqlalchemy_safe: return jsonable_encoder(
return obj_dict obj_dict,
return { exclude_none=exclude_none,
k: v exclude_defaults=exclude_defaults,
for k, v in obj_dict.items() sqlalchemy_safe=sqlalchemy_safe,
if not (isinstance(k, str) and k.startswith("_sa")) )
}
if dataclasses.is_dataclass(obj): if dataclasses.is_dataclass(obj):
assert not isinstance(obj, type) assert not isinstance(obj, type)
obj_dict = dataclasses.asdict(obj) obj_dict = dataclasses.asdict(obj)

Loading…
Cancel
Save