当我在 VS Code 中使用 pydantic 时,代码片段显示User(**data: Any). VS Code 有没有办法显示正确的文档?喜欢User(name: str, email: str)
截至今天,这个问题仍然存在,无论是对于 pydantic 的BaseModel类,还是 pydantic 版本的@dataclass装饰器。
如果是BaseModel,请将以下代码添加到您的导入中:
from typing import TYPE_CHECKING
from pydantic import BaseModel
if TYPE_CHECKING:
from dataclasses import dataclass as _basemodel_decorator
else:
_basemodel_decorator = lambda x: x
Run Code Online (Sandbox Code Playgroud)
然后,按如下方式装饰所有类:
@_basemodel_decorator
class MyClass(BaseModel):
foo: int
bar: str
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用 pydantic 版本的dataclass装饰器样板代码会更简单:
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from dataclasses import dataclass
else:
from pydantic.dataclasses import dataclass
Run Code Online (Sandbox Code Playgroud)
然后像往常一样继续:
@dataclass
class MyClass2:
foo: int
bar: str
Run Code Online (Sandbox Code Playgroud)
更多信息:
信用:https ://github.com/microsoft/python-language-server/issues/1898#issuecomment-809975087
关于常量TYPE_CHECKING:https ://docs.python.org/3/library/typing.html#typing.TYPE_CHECKING
| 归档时间: |
|
| 查看次数: |
965 次 |
| 最近记录: |