gpt4 book ai didi

python - 是否可以在创建 Pydantic BaseModel 属性后对其进行修改?

转载 作者:行者123 更新时间:2023-12-04 09:16:02 25 4
gpt4 key购买 nike

我开始学习 FastAPI 和 Pydantic 并且有疑问。我有 BaseModel 的以下子类

class Product(BaseModel):
image: str
name: str
保存这个模型后,我想要 image存储值 /static/ + image以便创建漂亮的超链接 REST 端点。这可以使用 __post_init_post_parse__ pydantic 数据类的钩子(Hook),但由于 FastAPI 目前不支持它,我想知道有什么办法可以解决这个问题。

最佳答案

您可以使用自定义 validator :

>>> from pydantic import BaseModel, validator
>>> class Product(BaseModel):
image: str
name: str
@validator('image')
def static_mage(cls, image):
return '/static/{}'.format(image)


>>> p = Product(image='pic.png', name='product_1')
>>> p
Product(image='/static/pic.png', name='product_1')

关于python - 是否可以在创建 Pydantic BaseModel 属性后对其进行修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63210138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com