猿问

如何在 python pydantic basemodels 中要求预定义的字符串值?

pydantic 中是否有任何内置方式来指定选项?例如,假设我想要一个必须具有值“foo”或“bar”的字符串值。

我知道我可以使用正则表达式验证来执行此操作,但是由于我将 pydantic 与 FastAPI 一起使用,用户只会将所需的输入视为字符串,但是当他们输入某些内容时,它会给出验证错误。pydantic 的所有内置验证都显示在 api 界面中,所以如果有类似的东西会很棒

class Input(BaseModel):
     option: "foo" || "bar"


一只萌萌小番薯
浏览 95回答 1
1回答

GCT1015

是的,您可以使用枚举:class Choices(Enum):     foo = 'foo'     bar = 'bar'     class Input(BaseModel):      option: Choices看这里或者您可以使用Literal:class Input(BaseModel):      option: Literal['foo', 'bar']看这里
随时随地看视频慕课网APP

相关分类

Python
我要回答