所以我有以下代码:
@dataclass
class User:
name: str
age: int
User类应该对应于数据库中某个表,其中name字段是主键。我想要以下类型提示:
@dataclass
class User:
name: Key[str]
age: int
因此,我可以在代码中进一步检查字段的类型提示以找到主键的名称。我希望Key [T]解析为T,这样正常的类型提示将起作用并检查所提供的类型确实是str。我在打字模块的文档中进行了一些搜索,但找不到任何合适的方法。
如果我正确理解您的问题,您可能正在寻找typing.NewType
:
Key = NewType("Key", str)
@dataclass
class User:
name: Key
age: int
或者您是否需要Key
是具有[]
中指定类型的泛型?