Python 是否可以在创建Pydantic BaseModel属性之后修改它?
我开始学习FastAPI和Pydantic,我有一个疑问。我有以下BaseModel的子类Python 是否可以在创建Pydantic BaseModel属性之后修改它?,python,python-3.x,fastapi,pydantic,Python,Python 3.x,Fastapi,Pydantic,我开始学习FastAPI和Pydantic,我有一个疑问。我有以下BaseModel的子类 类别产品(基本型号): 图片:str 姓名:str 保存此模型后,我希望image存储值/static/+image,以便创建漂亮的超链接REST端点。这可以使用pydantic dataclass的钩子来实现,但由于FastAPI目前不支持它,我想知道有什么办法可以解决这个问题。您可以使用自定义的验证器: >>> from pydantic import BaseModel, val
类别产品(基本型号):
图片:str
姓名:str
保存此模型后,我希望
image
存储值/static/
+image
,以便创建漂亮的超链接REST端点。这可以使用pydantic dataclass的钩子来实现,但由于FastAPI目前不支持它,我想知道有什么办法可以解决这个问题。您可以使用自定义的验证器
:
>>> 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')
这是以某种方式返回API文档中的响应
/static/static/456.png
,而不是/static/456.png
,不明白为什么看到一个最小的可复制示例会很好。我将假设您从一个对象获取一个图像并将其插入另一个对象,即验证它两次0.37.0中添加了对pydantic数据类的支持-您遇到了什么问题?