python
config_error
ai_generated
true
pydantic_core._pydantic_core.ValidationError: 1 validation error for Order customer_id 字段必填 [type=missing, input_value={}, input_type=dict]
pydantic_core._pydantic_core.ValidationError: 1 validation error for Order customer_id Field required [type=missing, input_value={}, input_type=dict]
ID: python/pydantic-missing-field-required
80%修复率
89%置信度
0证据数
2024-02-05首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 2.x | active | — | — | — |
根因分析
模型定义了无默认值的 customer_id 字段,但输入字典中未提供该值,Pydantic v2 抛出 missing 错误而非使用 None。
English
The model defines customer_id without a default and no value was provided in the input dict; Pydantic v2 raises missing error instead of using None.
解决方案
-
98% 成功率
from typing import Optional class Order(BaseModel): customer_id: Optional[int] = None -
97% 成功率
from pydantic import Field class Order(BaseModel): items: list = Field(default_factory=list)
无效尝试
常见但无效的做法:
-
70% 失败
Type checker and Pydantic v2 will complain that None is not int; runtime validation still fails if None is passed explicitly.
-
90% 失败
extra controls unknown fields, not missing required fields.