问题标签 [pydantic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 pydantic 模型中解析 ObjectId?
我正在尝试将 MongoDB 记录解析为 pydantic 模型,但未能这样做ObjectId
据我了解,我需要为 ObjectId 设置验证器,并尝试扩展 ObjectId 类并validator
使用 ObjectId 将装饰器添加到我的类中。我做了如下。
不幸的是,这两个“解决方案”都失败了,如下所示:
这里肯定有一些我想念的东西。
python - 如何从 pydantic 模型解析和读取“_id”字段?
我正在尝试将 MongoDB 数据解析为一个 pydantic 模式,但未能读取其_id
似乎刚刚从模式中消失的字段。
这个问题肯定与对象属性前面的下划线有关。我无法更改_id
字段名称,因为这意味着根本不解析该字段。
请在下面找到我使用的代码(为了简化而使用int
而不是)ObjectId
User_1
解析成功,因为它的_id
字段是必需的,但之后无法读取。
User_2
如果附加到不提供任何id
字段但_id
.
上面代码的输出如下:
python - Pydantic验证器删除空白字符串?
我有以下 Pydantic 模型:
我的目标是能够将空字符串作为空值忽略,但它似乎不起作用。
Report(id=5,name="Steve",grade=0.5)
创建一个实例,proportion=None
但...
Report(id=5,name="Steve",grade=0.5,proportion="")
抛出错误value is not a valid float (type=type_error.float)
。我怎样才能得到与第一种情况相同的结果?
python - 在 Python 中直接实例化 `typing.Union`
我想实例化两个直接派生的类的类型。Union
pydantic.BaseModel
但是我得到一个TypeError: Cannot instantiate typing.Union
.
我见过的所有示例都声明Union
为类的属性(例如此处)。
下面是我想使用的最小示例。
有没有办法做到这一点?
这是我得到的错误
python - 无需硬编码即可获取类的字段名称
我有一个像这样的 Pydantic 模型类
现在,我希望能够在没有硬编码的情况下引用“用户名”(就像我如何能够引用类名一样)
有没有办法不经过代码生成路线?
python - 具有合理默认值的必填字段
考虑以下
这将为required
提供一个必填字段Model
,但是,在 FastAPI 自动生成的 Swagger 文档中,它将具有“字符串”的示例值。
如何使用合理的默认值创建必填字段?如果我制作一个像
然后required
不再需要该字段,但它在文档中显示为合理的默认值。有一个简单的解决方法吗?
python - pydantic:读取模型中没有值的模型
是否可以使用允许模型中未指定值的 pydantic 定义模型?
例如我有一个 json 对象:
我希望使用它来定义它
但保留所有其他附加键?
python - REST API in Python with FastAPI and pydantic: read-only property in model
Assume a REST API which defines a POST method on a resource /foos to create a new Foo. When creating a Foo the name of the Foo is an input parameter (present in the request body). When the server creates a Foo it assigns it an ID. This ID is returned together with the name in the REST response. I am looking for something similar to readOnly in OpenAPI.
The input JSON should look like this:
The output JSON should look like that:
Is there a way to reuse the same pydantic model? Or is it necessary to use two diffent models?
I cannot find any mentions of "read only", "read-only", or "readonly" in the pydantic documentation or in the Field class code.
Googling I found a post which mentions
But that seems to have no effect in my use case.
python - 是否可以动态地将对象专门化为子类?
我目前的情况是,我有一个类 (Item) 和一个子类 (ScoredItem) 以及一个将 Item 变为 ScoredItem 的函数。该代码工作正常,但它需要我重新创建现有对象。可能会发生Item
另一个具有默认值的属性,这会破坏代码。例如,如果Item
有一个属性total_interactions : int = 0
,那么插入的项目列表score_items
很可能没有total_interactions=0
。但是如果score_items
不调整,那么它就会默默地失败。有没有办法防止这种情况?像scored_item = ScoredItem(score=0.123, **item)
什么?或者item.score = 0.123; scored_item = ScoredItem(item)
?
我考虑过组合与继承,但有很好的指标应该是继承。
MVCE
python - 在 pydantic 模型中包含非验证方法是不好的做法吗?
我正在使用 pydantic 1.3 来验证我正在编写的 API 的模型。
在从 pydantic.BaseModel 继承的类中包含任意方法是否常见/良好的做法?
我需要一些与对象关联的辅助方法,并且我正在尝试确定是否需要“处理程序”类。这些模型正在被转换为 json 并发送到我也在编写的宁静服务。
我的模型如下所示:
做类似的事情是不好的做法:
这对我来说很有意义,但我找不到任何人这样做的例子。
先感谢您。