为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只萌萌小番薯 2022-10-11 16:10:10
pydantic 中是否有任何内置方式来指定选项?例如,假设我想要一个必须具有值“foo”或“bar”的字符串值。我知道我可以使用正则表达式验证来执行此操作,但是由于我将 pydantic 与 FastAPI 一起使用,用户只会将所需的输入视为字符串,但是当他们输入某些内容时,它会给出验证错误。pydantic 的所有内置验证都显示在 api 界面中,所以如果有类似的东西会很棒class Input(BaseModel):      option: "foo" || "bar"
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

是的,您可以使用枚举:

class Choices(Enum):
    foo = 'foo'
    bar = 'bar'
    class Input(BaseModel):
     option: Choices

这里

或者您可以使用Literal

class Input(BaseModel):
     option: Literal['foo', 'bar']

这里


查看完整回答
反对 回复 2022-10-11
  • 1 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信