Shu*_*hah 4 python python-3.x pydantic fastapi
我开始学习 FastAPI 和 Pydantic 并有疑问。我有以下 BaseModel 子类
class Product(BaseModel):
image: str
name: str
Run Code Online (Sandbox Code Playgroud)
保存此模型后,我想image存储值/static/+image以便创建漂亮的超链接 REST 端点。这可以使用__post_init_post_parse__pydantic 数据类的钩子来实现,但由于 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')
Run Code Online (Sandbox Code Playgroud)