nonebot.compat
本模块为 Pydantic 版本兼容层模块
为兼容 Pydantic V1 与 V2 版本,定义了一系列兼容函数与类供使用。
var Required
类型: untyped
说明: Alias of Ellipsis for compatibility with pydantic v1
library-attr PydanticUndefined
- 说明: Pydantic Undefined object
library-attr PydanticUndefinedType
- 说明: Pydantic Undefined type
var DEFAULT_CONFIG
类型: untyped
说明: Default config for validations
class FieldInfo(default=PydanticUndefined, **kwargs)
说明: FieldInfo class with extra property for compatibility with pydantic v1
参数
default
(Any)**kwargs
(Any)
property extra
类型: dict[str, Any]
说明
Extra data that is not part of the standard pydantic fields.
For compatibility with pydantic v1.
class ModelField(<auto>)
说明: ModelField class for compatibility with pydantic v1
参数
auto
instance-var name
类型: str
说明: The name of the field.
instance-var annotation
类型: Any
说明: The annotation of the field.
instance-var field_info
类型: FieldInfo
说明: The FieldInfo of the field.
classmethod construct(name, annotation, field_info=None)
说明: Construct a ModelField from given infos.
参数
name
(str)annotation
(Any)field_info
(FieldInfo | None)
返回
- Self
method get_default()
说明: Get the default value of the field.
参数
empty
返回
- Any
method validate_value(value)
说明: Validate the value pass to the field.
参数
value
(Any)
返回
- Any
def extract_field_info(field_info)
说明: Get FieldInfo init kwargs from a FieldInfo instance.
参数
field_info
(BaseFieldInfo)
返回
- dict[str, Any]
def model_fields(model)
说明: Get field list of a model.
参数
model
(type[BaseModel])
返回
- list[ModelField]
def model_config(model)
说明: Get config of a model.
参数
model
(type[BaseModel])
返回
- Any
def model_dump(model, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)
参数
model
(BaseModel)include
(set[str] | None)exclude
(set[str] | None)by_alias
(bool)exclude_unset
(bool)exclude_defaults
(bool)exclude_none
(bool)
返回
- dict[str, Any]
def type_validate_python(type_, data)
说明: Validate data with given type.
参数
type_
(type[T])data
(Any)
返回
- T
def type_validate_json(type_, data)
说明: Validate JSON with given type.
参数
type_
(type[T])data
(str | bytes)
返回
- T
def custom_validation(class_)
说明: Use pydantic v1 like validator generator in pydantic v2
参数
class_
(type[CVC])
返回
- type[CVC]