以下代码成功将
UserSQLAlchemyModel
列表转换为 UserPydanticModel
列表:
users_from_db = session.scalars(select(UserSQLAlchemyModel)).all()
users = TypeAdapter(list[UserPydanticModel]).validate_python(users_from_db)
现在如何将
users
转换为 JSON 字符串?我注意到使用 dump_json
而不是 validate_python
有效,但问题是 exclude
的 dump_json
参数没有效果,并且没有关于 dump_json
的文档。我也很想知道 dump_json
是否跳过验证。
首先,
import json
将列表转换为您的 UserPydanticModel 列表:
users = [UserPydanticModel.from_orm(user) for user in users_from_db]
要排除 json 中的字段:
json_str = [user.json(exclude={'some_field_to_exclude'}) for user in users]
如果要将 JSON 字符串列表转换为单个 JSON 字符串:
final_json_str = json.dumps(json_str)