如何为Pydantic/FastAPI设置enum类的默认值



我试图找到一种方法来设置Pydantic以及FastAPI文档上的Enum类的默认值,但我找不到如何做到这一点。这是我的enum类:

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

我想让active作为默认值,例如。谢谢:)

首先,你的enum类有一些语法错误,它应该是=代替:。因此,您的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 =ConnectionStatus.active

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

参考:枚举和选择- Pydantic Doc

最新更新