python - 具有默认值的 Pydantic 字段?
问题描述
假设我有以下单例:
from typing import Union, TypeVar
from typing import Literal
from pydantic import BaseModel
class UnidentifiedType(BaseModel):
_instance = None
def __init__(self):
if UnidentifiedType._instance is None:
Unidentified._instance = self
@property
def instance(self):
if self._instance is None:
UnidentifiedType()
return self._instance
Unidentified = UnidentifiedType.instance
然后我输入以下别名:
Identifiable = Union[Literal[Unidentified], TypeVar("T")]
我已经知道我可以制作一个模型并给一个字段bar
一个默认值,Unidentified
如下所示:
class foo(BaseModel):
bar: Identifiable[str] = Unidentified
但是我如何使任何类型为 Indentifiable[something] 的字段的默认值为Unidentified
?
换句话说,有没有办法:
class foo(BaseModel):
bar: Identifiable[str]
并且bar
仍然有默认值Unidentified
?
解决方案
推荐阅读
- python - 如何遍历python中的矩阵列
- google-chrome - 允许使用非沙盒插件访问启动 CEF3?
- bash - 在将函数传递给变量时,Bash 中缺少新行
- node.js - Api post,空主体对象
- javascript - 在 vuejs 中更改组件数据
- r - R - 用户定义函数中的 dplyr 合并
- spring-batch - Spring Batch / Spring Batch 管理系统升级
- python - 合并 DataFrames 会产生意想不到的结果
- cordova - 电话静音时播放 Cordova 应用程序 PushNotification 声音
- angular - 带有isLoading的应用程序组件中的Angular7 *ngIf | 来自 redux 存储的异步管道抛出“ExpressionChangedAfterItHasBeenCheckedError”