希望能解决的问题
nonebot.compat.model_dump 目前将 include / exclude 注解为:
|
def model_dump( |
|
model: BaseModel, |
|
include: set[str] | None = None, |
|
exclude: set[str] | None = None, |
|
by_alias: bool = False, |
|
exclude_unset: bool = False, |
|
exclude_defaults: bool = False, |
|
exclude_none: bool = False, |
|
) -> dict[str, Any]: |
但声明支持的 Pydantic 范围是:
|
"pydantic >=1.10.0, <3.0.0, !=2.5.0, !=2.5.1, !=2.10.0, !=2.10.1", |
在这个范围内,Pydantic v1 / v2 实际支持的 include / exclude 类型都明显宽于 set[str] | None,因此当前 compat 层的类型注解过窄。
描述所需要的功能
把 nonebot.compat.model_dump 的 include / exclude 类型放宽到覆盖 NoneBot 支持的 Pydantic 版本实际接受的参数范围,至少不要只限于 set[str] | None。
希望能解决的问题
nonebot.compat.model_dump目前将include / exclude注解为:nonebot2/nonebot/compat.py
Lines 231 to 239 in 6090870
但声明支持的 Pydantic 范围是:
nonebot2/pyproject.toml
Line 26 in 6090870
在这个范围内,
Pydantic v1 / v2实际支持的include / exclude类型都明显宽于set[str] | None,因此当前compat层的类型注解过窄。描述所需要的功能
把
nonebot.compat.model_dump的include / exclude类型放宽到覆盖NoneBot支持的Pydantic版本实际接受的参数范围,至少不要只限于set[str] | None。