Closed
Description
Required Optional Fields (eg. fields that are allowed to be None but should explicitly be specified) are made non-Required when Field
+ ...
ellipse was used.
For example, using bump-pydantic
on the official pydantic v1.10 example: https://docs.pydantic.dev/1.10/usage/models/#required-optional-fields
Turns the following code:
from typing import Optional
from pydantic import BaseModel, Field, ValidationError
class Model(BaseModel):
a: Optional[int]
b: Optional[int] = ...
c: Optional[int] = Field(...)
Into:
from typing import Optional
from pydantic import BaseModel, Field, ValidationError
class Model(BaseModel):
a: Optional[int] = None
b: Optional[int] = ...
c: Optional[int] = Field(None)
While one would have expected:
from typing import Optional
from pydantic import BaseModel, Field, ValidationError
class Model(BaseModel):
a: Optional[int] = None
b: Optional[int] = ...
c: Optional[int] = Field(...)
bump-pydantic version = v0.6.1 (as of writing the lastest version)