如何为 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
我试图找到一种方法来在 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