python config_error ai_generated true

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

Also available as: JSON · Markdown · 中文
80%Fix Rate
89%Confidence
0Evidence
2024-02-05First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
2.x active — — —

Root Cause

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.

generic

中文

模型定义了无默认值的 customer_id 字段,但输入字典中未提供该值,Pydantic v2 抛出 missing 错误而非使用 None。

Workarounds

  1. 98% success
    from typing import Optional
    class Order(BaseModel):
        customer_id: Optional[int] = None
  2. 97% success
    from pydantic import Field
    class Order(BaseModel):
        items: list = Field(default_factory=list)

Dead Ends

Common approaches that don't work:

  1. 70% fail

    Type checker and Pydantic v2 will complain that None is not int; runtime validation still fails if None is passed explicitly.

  2. 90% fail

    extra controls unknown fields, not missing required fields.