问题标签 [flask-marshmallow]

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.

0 投票
3 回答
2536 浏览

python - 电子邮件的棉花糖自定义验证消息

我使用以下模式来验证数据:

但是 ValidationError.messages.items 有以下消息:

如何让它显示我的自定义消息?error_messages 字典是否有完整的可能值列表,因为我怀疑我也需要覆盖其他消息。

0 投票
0 回答
311 浏览

sqlalchemy - 与 Marshmallow 的关系非常慢的序列化

我的数据库中有以下示例表,我用 Flask_SQLAlchemy 管理它。

我的 Flask 架构如下所示:

以下是我对员工 GET 的路由:

如果我现在运行它,使用 SQL-Alhchemy 的查询大约需要 0.01 秒,这对我来说没问题,但使用 Flask_Marshmallow 的序列化大约需要 1.3 秒。

如果我将架构更改如下:include_relationships = False并手动运行序列化:

用棉花糖序列化大约需要 0.02 秒,手动添加的就业关系大约需要 1.2 秒。

在我的真实案例中,我的关系远不止一个关系,数据的序列化需要惊人的 32 秒。

有没有办法用棉花糖加速序列化?难道我做错了什么?

谢谢您的支持。

0 投票
1 回答
585 浏览

python - 如何使用 webargs 从查询参数中按值解析枚举?

我有下一个枚举:

和架构:

在 Flask 之后,我声明了 GET 方法webargs

它失败并出现错误:

我在调试器中检查了它,发现EnumField调用EStatus(value). 问题是我的值是str类型,因为它来自查询参数。

如何在调用之前EnumField将其转换为?intEStatus(value)

0 投票
1 回答
256 浏览

python - 如何将 marshmallow_jsonapi.flask 模式字段反序列化为 SQLAlchemySchema PostgreSQL JSONB 字段?

我有一个 Flask 模型,其字段名为PostgreSQLmetadata中的JSONB类型。

我将其序列化为marshmallow_jsonapi.flask模式(ma是我环境的 Marshmallow 对象):

然后我尝试使用flask_rest_json_apiAPI 来反序列化请求:

当我发布请求时,foo据我所知,传入的 JSON 被正确反序列化为对象,但该.add()方法失败。

看起来 ORMdict无法映射到正确的 PostgreSQL 数据类型。

除了序列化 JSONB 字段ma.SQLAlchemySchema之外,实例是否应该使用其他方法?fields.Raw()我应该Foo在调用后处理实例schema.load()吗?任何帮助表示赞赏。

0 投票
1 回答
147 浏览

python - 数据库模型的 Flask Marshmallow Schema Introspection 是如何工作的?

我试图了解 Marshmallow Schemas 的内省是如何工作的。这是一个简单的代码示例:

当我运行这个脚本时,我得到的结果是[{}, {}]. 这告诉我它确实Person从数据库中检索了对象,但是Schema没有字段,所以它只返回空字典。我希望这个脚本返回[{"id": 0, "name": "Alice", "age": 25}, {"id": 1, "name": "Bob", "age": 26}],或类似的东西。显然,数据库模型的自省并没有发生。为什么不?我应该如何修改这个脚本以获得预期的结果?

为了完整起见,我使用的是 Python 3.8.5,pip freeze在我的环境中 a 的结果是这样的:

注意:我知道我可以通过MySchema像这样修改我的类来让它工作:

但这违背了完全自动内省的目的。我想避免在两个地方定义字段。

0 投票
1 回答
22 浏览

python-3.x - 在序列化之前更改信息

我有一个数据库模型,例如:-

和一个像这样的序列化器:-

我的问题是,当我在查询后转储数据时:-

我以以下形式获取数据

但我希望能够只提取脚本的名称并将其序列化

我不想在 Script Model 中为 name 创建另一列,我该如何解决这个问题?

0 投票
1 回答
276 浏览

python-3.x - 使用棉花糖缩放嵌套字段

我有两个这样的数据库模型

当我使用以下模式序列化模型SettingsContainer

我得到的是

但我想以以下格式获取数据

我希望能够提取嵌套字段,我不明白如何使用该ma.Function方法,提前非常感谢大家。

0 投票
0 回答
376 浏览

python-3.x - Python Marshmallow AttributeError:“list”对象没有属性“get”

我有这个架构

from marshmallow import validate, ValidationError from marshmallow_jsonapi import fields from marshmallow_jsonapi.flask import Relationship, Schema

我想加载这些数据(来自 UI)进行验证:

为了验证我做了:

我收到一条错误消息,

AttributeError:“列表”对象没有属性“获取”

这很明显,因为我正在传递一个列表。当我从上面的列表中传递一个字典时,验证工作正常,但我想传递批量数据并立即进行验证,如 Marshmallow 文档所示:https://marshmallow.readthedocs.io/en/stable/quickstart。 html#验证

什么时候

许多=真

, load 方法需要一个集合类型,如 list、tuple、queryset 等。

关于如何验证 Marshmallow 中的数据列表的任何建议?棉花糖版本是:

谢谢!

0 投票
1 回答
172 浏览

python - 棉花糖:为什么我不能访问字段属性?

我有一个非常常规的模式类,例如:

我想分析类本身,以便能够为前端形成一些元信息。但我无法访问 xxx 或名称,例如:

0 投票
2 回答
28 浏览

python - 如何在 Python 中从 field.Method 访问不同的参数

我想将我的邮政编码更改为 ''如果它None但无法正确访问 country_code 参数来执行此操作。我究竟做错了什么?