Jac*_*ang 7 python inheritance class pydantic
from pydantic import BaseModel
class A(BaseModel):
date = ''
class B(A):
person: float
def __init__(self):
self.person = 0
B()
Run Code Online (Sandbox Code Playgroud)
尝试启动类 B 但引发错误 AttributeError: 'B' object has no attribute ' fields_set ',为什么呢?
这是因为你覆盖了__init__并且不在super那里调用,所以 Pydantic 无法通过设置正确的字段来发挥它的魔力。
使用 pydantic ,您很少需要实现__init__大多数情况都可以通过不同的方式解决:
from pydantic import BaseModel
class A(BaseModel):
date = ""
class B(A):
person: float = 0
B()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8040 次 |
| 最近记录: |