如何为Pydantic动态创建的模型字段添加description?
动态创建Pydantic模型时添加字段描述
当然可以给动态创建的Pydantic模型字段添加description属性,只需要在构建字段属性时,用Field对象代替直接传入的默认值,和静态写法的逻辑一致。
修改后的动态创建代码如下:
from pydantic import create_model, Field # 每个字段用Field对象定义默认值和描述 attrs = { "value1": Field(-1, description="desc1"), "value2": Field(-2, description="desc2") } m = create_model("MainModel", **attrs) print(m.schema_json(indent=2))
运行这段代码后,输出的JSON Schema里会包含每个字段的description字段,和静态创建的模型效果完全一致。
如果需要明确指定字段类型(比如默认值无法自动推断类型的场景),可以用(类型, Field(...))的元组形式定义字段:
from pydantic import create_model, Field attrs = { "value1": (int, Field(-1, description="desc1")), "value2": (str, Field("default", description="desc2")) } m = create_model("MainModel", **attrs) print(m.schema_json(indent=2))
内容的提问来源于stack exchange,提问作者gnikit
相关产品推荐
相关产品推荐

