希望能解决的问题
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。