首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pydantic.dataclasses时在Pydantic模式中添加“description”

使用pydantic.dataclasses时在Pydantic模式中添加“description”
EN

Stack Overflow用户
提问于 2021-02-17 12:25:15
回答 1查看 2.8K关注 0票数 4

Pydantic支持生成OpenApi/jsonschema模式。当使用Pydantic的BaseModel定义模型时,可以将descriptiontitle添加到结果的json/yaml规范中。

代码语言:javascript
复制
class DescriptionFromBasemodel(BaseModel):
    with_desc: int = Field(
        42,
        title='my title',
        description='descr text',)

并将其转到模式:DescriptionFromBasemodel.schema_json()

代码语言:javascript
复制
{
    ... schema title, description, type top-level ...
    "properties": {
        "with_desc": {
            "title": "my title",
            "description": "descr text",
            "type": ...
       ...

但是,我无法确定如何使用pydantic.dataclasses (我的应用程序必须使用它才能在其他地方很好地发挥作用)来解决这个问题。您可以将metadata添加到stdlib dataclass Field(...)s中,但是pydantic不使用它们(?)

代码语言:javascript
复制
from pydantic.dataclasses import dataclass
from dataclasses import field

@dataclass
class DataclassWithDescription:
   a_field: int = field(metadata=dict(
       description="descr text"))

并且没有使用description生成DataclassWithDescription.__pydantic_model__.schema_json()输出。

EN

回答 1

Stack Overflow用户

发布于 2022-01-03 17:35:37

我发现这很管用(Pydantic‘的注释用法),

代码语言:javascript
复制
from pydantic import Field
from pydantic.dataclasses import dataclass

@dataclass
class DataclassWithDescription:
   a_field: int = Field(description="descr text")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66241934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档