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

如何无需实例化Pydantic模型获取示例值字典?

获取Pydantic模型示例字典(无需实例化)

问题描述

现有如下Pydantic模型:

from pydantic import BaseModel, Field

class CreatedScRequestResponseSchema(BaseModel):
    sc_request_id: int = Field(example=145781)
    sc_request_state_code: int = Field(example=200)
    sc_request_result_code: str = Field(example="positiv")

需要在不实例化模型的前提下,生成包含各字段示例值的字典:

{"sc_request_id": 145781, "sc_request_state_code": 200, "sc_request_result_code": "positiv"}

解决方案

根据你使用的Pydantic版本,选择对应的方法:

Pydantic v2 版本

直接通过模型的model_fields属性遍历字段,提取example值:

# 接上面的模型定义
example_dict = {
    name: field.example
    for name, field in CreatedScRequestResponseSchema.model_fields.items()
}

print(example_dict)
# 输出目标字典

Pydantic v1 版本

v1版本用__fields__属性获取字段信息:

# 接上面的模型定义
example_dict = {
    name: field.field_info.example
    for name, field in CreatedScRequestResponseSchema.__fields__.items()
}

print(example_dict)
# 输出目标字典

补充说明

  • 原代码遗漏了Field的导入,实际运行必须补上,否则会报错。
  • 如果有字段没设置example,对应值会是None,可以按需过滤这类键值对。

内容的提问来源于stack exchange,提问作者Альберт Александров

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:42:37