我可以找到一种方法,通过使用别名生成器将基于驼峰类型的请求正文转换为蛇型,但是对于我的回应,我再次想将蛇型转换为驼峰类型发布到架构验证。有什么办法可以实现吗?
示例: 我确实有一个如下的python dict,
{
"title_name": "search001",
"status_type": "New"
}
然后发布到 pydantic 模式验证,我的 dict 应该将蛇案例类型转换为 Camel 案例,如下所示,
{
"titleName": "search001",
"statusType": "New"
}
如何定义一个 pydantic 模式来解决上述问题?
提前致谢。
最佳答案
您可以使用 Alias Generator
from pydantic import BaseModel
def to_snake_case(string: str) -> str:
return ''.join(['_' + i.lower() if i.isupper() else i for i in string]).lstrip('_')
class MyModel(BaseModel):
titleName: str
statusType: str
class Config:
alias_generator = to_snake_case
data = {
"title_name": "search001",
"status_type": "New"
}
print(MyModel(**data).dict()) # {'titleName': 'search001', 'statusType': 'New'}
关于python - 如何在 pydantic 模式验证后从蛇案例转变为 Camel 案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67995510/