根据输入信息pydantic创建枚举选项
我正在尝试创建一个带有可能选项的字段的pydantic类, 这些选项应作为外部API的输入接收。
可以做吗?
这就是我到目前为止所做的:
class LanguageAudioEnum(str, Enum):
pear = 'pear' # Here should be the recived options
banana = 'banana'
class Language(BaseModel):
language_audio: Optional[LanguageAudioEnum] = None
language_booklet: Optional[str] = None
language_live: Optional[str] = None
@root_validator(pre=True)
@classmethod
def check_only_one_language_selected(cls, values):
if len(values) > 1:
raise ValueError("Select only one language option")
elif len(values) == 0:
raise ValueError("Select language option")
return values
我想出的另一种选择是使用字面的pydantic领域,但我仍然不确定如何
在高级中输入枚举字段作为输入!
盎司
I am trying to create a pydantic class which has a field with possible options,
those options should be received as input from an external api.
can it be done?
that's what I did so far:
class LanguageAudioEnum(str, Enum):
pear = 'pear' # Here should be the recived options
banana = 'banana'
class Language(BaseModel):
language_audio: Optional[LanguageAudioEnum] = None
language_booklet: Optional[str] = None
language_live: Optional[str] = None
@root_validator(pre=True)
@classmethod
def check_only_one_language_selected(cls, values):
if len(values) > 1:
raise ValueError("Select only one language option")
elif len(values) == 0:
raise ValueError("Select language option")
return values
Another option that I came up with is to use the Literal pydantic field but still I am not sure how to enter the enums fields as input
thanx in advanced!
Oz
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论