You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Pydantic BaseModel默认使用serialization_alias序列化

配置Pydantic BaseModel使model_dump()默认使用序列化别名

解决方案

只需在模型的配置中设置serialize_by_alias=True,即可让model_dump()默认使用字段的serialization_alias。

修改后的代码示例

from pydantic import BaseModel, Field


class ProjectStage(BaseModel):
    name: dict[str, int] = Field(..., serialization_alias="Username")
    
    model_config = {
        "serialize_by_alias": True
    }


a = ProjectStage(name={'foo': 1})
print(a.model_dump())  # 输出: {'Username': {'foo': 1}}

补充说明

如果习惯使用传统的Config类写法,也可以采用以下配置方式:

class ProjectStage(BaseModel):
    name: dict[str, int] = Field(..., serialization_alias="Username")
    
    class Config:
        serialize_by_alias = True

配置完成后,直接调用model_dump()就会自动使用字段的序列化别名,无需额外传入by_alias=True参数。

内容的提问来源于stack exchange,提问作者Silent Wraith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:29:56