在 pydantic 模式中使用 Field(...) 作为默认值的目的是什么

What is the purpose of using Field(...) as a default value in pydantic schemas

我已经阅读了 Pydantic 库的某些部分并做了一些测试,但我无法弄清楚在模式定义中使用 Field(...)(没有额外选项)而不是使用的额外好处是什么只是不添加默认值。

所以这里添加了什么:

from pydantic import BaseModel, Field

class Model(BaseModel):
    a: int = Field(...)

这里没有:

from pydantic import BaseModel

class Model(BaseModel):
    a: int

有什么我遗漏的特殊行为吗?

这些基本相同,您可能想要这样做的原因是您可以通过 kwargs 向字段提供其他设置 Field()

如果您对该字段没有其他设置,则不需要使用 Field()