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

如何为SQLModel的Field()添加示例?Pydantic可行但SQLModel报错

在SQLModel中为Field添加示例的解决方法

SQLModel基于Pydantic v2实现,而Pydantic v2已弃用单数的example参数,改用符合OpenAPI 3规范的写法,所以直接用example会报错。以下是几种可行的实现方式:

1. 使用examples参数(推荐)

SQLModel的Field支持复数形式的examples参数,传入列表格式的示例值,会直接在Swagger文档中展示:

from sqlmodel import SQLModel, Field

class Item(SQLModel):
    name: str = Field(default=None, examples=["A very nice Item"])
    price: float = Field(default=None, examples=[9.99])

2. 使用json_schema_extra参数

如果需要更自定义的示例格式,可以通过json_schema_extra传入包含example的字典:

from sqlmodel import SQLModel, Field

class Item(SQLModel):
    name: str = Field(default=None, json_schema_extra={"example": "A very nice Item"})
    price: float = Field(default=None, json_schema_extra={"example": 9.99})

3. 模型级统一设置示例

如果要给整个模型添加完整的示例,可以在模型的Config类中定义schema_extra:

from sqlmodel import SQLModel

class Item(SQLModel):
    name: str
    price: float

    class Config:
        schema_extra = {
            "example": {
                "name": "A very nice Item",
                "price": 9.99
            }
        }

补充说明

SQLModel不支持example参数的核心原因是对齐了Pydantic v2和OpenAPI 3的规范,单数example属于旧版OpenAPI 2的用法,现在官方推荐用复数examples或json_schema_extra来定义示例内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:55:28