如何为 Pydantic/FastAPI 设置枚举 class 的默认值

How to set a default value for enum class for Pydantic/FastAPI

我试图找到一种方法来在 Pydantic 和 FastAPI 文档上为 Enum class 设置默认值,但我找不到如何执行此操作。这是我的枚举 class:

class ConnectionStatus(str,Enum):
    active:"active"
    inactive:"inactive"
    deprecated:"deprecated"

例如,我想将 active 设置为默认值。 谢谢:)

首先,你的枚举 class 有语法错误,应该是 = :。因此,您的 ConnectionStatus 将变为,

class ConnectionStatus(str, Enum):
    active = 'active'
    inactive = 'inactive'
    deprecated = 'deprecated'

要设置默认值,请使用以下代码段

from fastapi import FastAPI
from pydantic import BaseModel
from enum import Enum

app = FastAPI()


class ConnectionStatus(str, Enum):
    active = 'active'
    inactive = 'inactive'
    deprecated = 'deprecated'


class SomeModel(BaseModel):
    status: ConnectionStatus = <b>ConnectionStatus.active</b>


@app.post("/")
async def some_route(data: SomeModel):
    return data

参考:Enums and Choices - Pydantic Doc