使用字典实例化Beanie的Schema类时出现Pydantic验证错误的问题求助
使用字典实例化Beanie的Schema类时出现Pydantic验证错误的问题求助
我最近在使用Beanie和Pydantic构建MongoDB文档模型时遇到了一个奇怪的问题。下面是我的类定义、用来生成实例字典的函数,以及触发错误的代码行:
类定义代码
from beanie import Document from pydantic import Field, ConfigDict, field_validator class Schema(Document): model_config = ConfigDict(extra='forbid') name: str = Field(alias='name') description: str = Field(alias='description') date: int = Field(alias='date')
生成默认字典的函数
def get_default_schema(): schema_dict = { 'name': 'schema_name', 'description': 'my description', 'date': 2022 } return schema_dict
触发错误的实例化代码
schema_dict = get_default_schema() sch = Schema(**schema_dict)
运行这段代码后,Pydantic返回了如下验证错误:
self = Schema(), args = () kwargs = {'date': 2022, 'description': 'my description', 'name': 'schema_name'} def __init__(self, *args: Any, **kwargs: Any) -> None: > super(Document, self).__init__(*args, **kwargs) E pydantic_core._pydantic_core.ValidationError: 2 validation errors for Schema E description E Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] E For further information visit https://errors.pydantic.dev/2.10/v/string_type E date E Input should be a valid integer [type=int_type, input_value=None, input_type=NoneType] E For further information visit https://errors.pydantic.dev/2.10/v/int_type
我已经在类里正确指定了所有字段的数据类型,字典里的对应值类型也完全匹配,而且我有一个结构类似的示例代码运行完全正常。但不知道为什么Pydantic好像识别不出三个属性里的两个,感觉是不是自己漏掉了什么很明显的细节?
备注:内容来源于stack exchange,提问作者Trigg
相关产品推荐
相关产品推荐

