我开始学习 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/