94得票9回答
如何使用Pydantic解析模型列表

我使用Pydantic来对API的请求和响应进行建模。 我定义了一个User类: from pydantic import BaseModel class User(BaseModel): name: str age: int 我的API返回一个用户列表,我使用requests...

88得票7回答
如何将任何有效的JSON格式转换为可读取的正文?

我还没有找到针对那个使用案例的文档。 我该如何获取请求主体,确保它是有效的JSON(任何有效的JSON,包括数字,字符串,布尔值和null,不仅限于对象和数组),并获取实际的JSON。 使用Pydantic强制JSON具有特定的结构。

77得票4回答
Pydantic枚举字段无法转换为字符串。

我试图将类中的一个字段限制为枚举类型。但是,当我尝试从类中获取字典时,它没有被转换为字符串。相反,它保留了枚举类型。我查看了pydantic文档,但找不到与我的问题相关的内容。 这段代码代表了我实际需要的内容。from enum import Enum from pydantic import...

61得票1回答
将非验证方法包含在pydantic模型中是否是不好的实践?

我正在使用pydantic 1.3来验证我正在编写的API的模型。 在从pydantic.BaseModel继承的类中包含任意方法是常见/良好的做法吗? 我需要一些与对象相关联的辅助方法,并且我正在尝试决定是否需要一个"handler"类。这些模型将被转换为JSON并发送到我正在编写的REST...

58得票2回答
如何给 Pydantic 的列表字段设置默认值?

我希望创建一个 Pydantic 模型,其中有一个列表字段,如果未初始化,则默认值为一个空列表。是否有一种惯用的方法来实现这一点? 对于 Python 的内置数据类对象,您可以使用 field(default_factory=list),但是在我的实验中,这似乎会阻止我的 Pydantic 模...

56得票2回答
Pydantic:dataclass与BaseModel的区别

Pydantic的dataclass和BaseModel使用的优缺点是什么?是否存在性能问题?在其他Python模块中,使用Pydantic的dataclass更容易还是BaseModel更容易?

55得票13回答
使用Pydantic,将每个字段都设置为可选的。

我正在使用FastAPI和Pydantic创建一个API。 我希望有一些PATCH端点,可以同时编辑记录的1个或N个字段。此外,我希望客户端只传递有效载荷中必要的字段。 例如: class Item(BaseModel): name: str description: s...

54得票5回答
如何将自定义装饰器添加到FastAPI路由?

我想在我的端点中添加一个 auth_required 装饰器。 (请注意,这个问题是关于装饰器而不是中间件的) 因此,一个简单的装饰器看起来像这样:def auth_required(func): def wrapper(*args, **kwargs): if use...

52得票5回答
Pydantic如何将对象转换为可JSON序列化的字典(而不是完整的JSON字符串)?

由于Pydantic对多种不支持JSON序列化的类型有很好的支持,因此我希望使用它作为API和数据存储之间(双向)处理数据的工具。相比当前的方法,它具有更好的读取/验证支持,但我还需要创建可写入的JSON序列化字典对象。 from uuid import UUID, uuid4 from p...

51得票7回答
从字典生成pydantic模型

有没有一种简单的方法可以从字典生成一个 Pydantic 模型? 这是我手头的数据示例。{ 'id': '424c015f-7170-4ac5-8f59-096b83fe5f5806082020', 'contacts': [{ 'displayName': '...