我使用以下代码创建 G 类的子类并将它们应该生成的模型类型传递给它们。
from typing import TypeVar, Type
class A:
@classmethod
def model_validate(cls):
print('Done')
T = TypeVar('T', bound=A)
class G[T]:
def __init__(self, model: Type[T]):
self.model = model
def func(self) -> None:
print(self.model.model_validate())
G[A](A).func()
这工作正常,但 mypy 给出了这个错误:
error: "type[T]" has no attribute "model_validate" [attr-defined]
我做错了什么?