在 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()
。
我已经阅读了 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()
。