ray*_*yon 6 python python-3.x pydantic
每当我创建/实例化 pydantic 对象时,是否有一种干净的方法来触发函数调用?
目前我正在root_validator为此“滥用”:
from pydantic import BaseModel
class PydanticClass(BaseModel):
name: str
@root_validator()
def on_create(cls, values):
print("Put your logic here!")
return values
Run Code Online (Sandbox Code Playgroud)
因此PydanticClass(name="Test")执行我的逻辑并简单地返回相同的对象值。
这可行,但我有两个问题,这就是为什么我对更干净的解决方案感兴趣:
所以我很高兴了解任何更好的方法/解决方案。
ale*_*ame 11
你的意图并不完全清楚。但我可以建议重写__init__模型方法。在这种情况下,您的代码将在对象实例化时执行一次:
from pydantic import BaseModel
class PydanticClass(BaseModel):
name: str
def __init__(self, **data) -> None:
super().__init__(**data)
print("Put your logic here!")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5081 次 |
| 最近记录: |