问题标签 [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 投票
1 回答
5060 浏览

python - Flask-Restless & Marshmallow:“dict”对象没有属性“_sa_instance_state”

我正在使用 Flask-Restless、Flask-SQLAlchemy 和 Marshmallow 开发一个基本的 CRUD JSON REST API。

我在使用这种库组合时遇到了问题,但只有当我使用 Marshmallow 启用反序列化时。

我已经广泛地搜索了这个错误,但是我只在使用数据库关系时发现了类似的问题,而我不是。

我一直在从我的应用程序中删除尽可能多的代码,但仍然遇到相同的错误。以下代码块是本地运行的 1:1。

模型.py:

序列化程序.py:

主要.py:

测试.py:

正在使用的版本:

最后,运行测试时的完整堆栈跟踪:

0 投票
1 回答
1909 浏览

python - SQLAlchemy-Marshmallow 查询和序列化为 JSON 的速度很慢

我对此有点陌生,所以如果有人可以帮助我,那就太棒了。

所以我在 SQLAlchemy 中为我正在开发的 Flask 应用程序设置了一些模型。在构建应用程序时,我用一些假数据填充了数据库(当前是 SQLite),我有点惊讶我的一个调用有多慢。

我在数据库中有一个名为 Menu 的表。菜单有一个孩子,sections,它有一个孩子,items。像这样:

  • 菜单
    • 部分
      • 项目

我要查询的对象是 1 个菜单,它有 4 个部分,每个部分有 10 个项目。

在我的 Flask 路由中,我使用 Menu.query.get(id) 查询数据库并使用棉花糖将其序列化为 JSON。

整个过程需要 250 毫秒的时间才能在我的本地机器上返回。

所以我的问题是:我担心 250 毫秒是愚蠢的吗?缓慢的罪魁祸首是什么?- 糟糕的架构设计?- SQLite / 使用 SQL 数据库?- 别的?

任何帮助将不胜感激。

此外。我最初还有 2 个更深的级别(项目有选项可以选择),但它需要大约一秒钟才能完成,所以当用户请求特定项目时,我将它们移动到单独的端点。

0 投票
0 回答
247 浏览

sqlalchemy - Sqlalchemy/marshmallow 单码表连接

我正在使用现有数据库实现烧瓶休息 API。db 包含一个通用查找表,其中多个查找按代码类别分开。

我有很多引用“CommonCode”的表

  1. 当我尝试使用下面的代码进行参考时,它将返回 ID 而不是“代码描述”列,

  2. 我正在使用棉花糖。如果指定列,ItemTypeDesc = field_for(CommonCode, 'CodeDesc') 则对象将返回"<Model.xxxx.CommonCode object at 0x00F8D710>

  3. 是否有推荐的方法来实现 sqlalchemy/marshmallow 中的通用代码表?

.

0 投票
2 回答
379 浏览

python - 如何将 bjson 结构反序列化为棉花糖模式

我正在尝试将 bjson 结构转换为棉花糖库中的模式。

下面是棉花糖模式:

下面是 bjson 将被转换为模式:

请注意,bjson 的“_id”为 ObjectId - “$oid”。这是因为使用 mongodb 的查询结果。

请问,有谁知道为什么不正确地从 bjson 转换为 marshmallow 模式?

谢谢你们!

0 投票
1 回答
11605 浏览

python - 用棉花糖序列化两个嵌套模式

我对python相当陌生。我有两个 SQLAlchemy 模型如下:

我有两个棉花糖模式类:

我创建了一个嵌套模式类,例如:

我正在做这样的连接查询:

数据加载到我检查过的对象中。如何解析这个模式?我试过了

这会产生错误:“列表对象不可迭代。”

0 投票
1 回答
338 浏览

python - Flask-Marshmallow 通过 API 暴露数据库内容的问题

我正在开发一个 API,它将从数据库中返回条目。我正在使用 Flask-SQLAlchemy、Flask-Marshmallow、Flask-Admin 和 Docker 将其打包。

在一个文件 Packages.py 中,我有以下关于数据库的代码。PckagesSchema 类是我在尝试让 Flash-Marshmallow 工作时添加的类。

在主文件中,我有以下代码片段

然后进一步处理 API GET 请求的部分。

目前返回:

但是,当 Flask-Admin 应用程序显示它时,数据库中肯定有一些东西。

这是我与 Flask-Marshmallow 合作的第一天,所以我一点经验都没有,希望能得到任何帮助。我已阅读 https://flask-marshmallow.readthedocs.io/en/latest/ 但仍然卡住了。

0 投票
1 回答
2130 浏览

flask - 如何构建一个 API 端点,外键替换为它们的值?

我目前正在使用 Flask、SQLAlchemy 和 Marshmallow 构建一个 API。我有一个相当简单的数据库模型,如下所示:

我的 Marshmallow Schema 如下所示:

还有一个非常简单的 API 端点:

我现在的问题:如何构造一个包含类别名称而不是主键的 JSON 响应?我尝试了“所有事务中的事务”位,在打印语句中我得到了类别名称,但它没有显示在我的 JSON 响应中......

我不完全确定如何编写数据库模型。我特别坚持的是 db.relationship。在我的 Transaction 类中声明它似乎没有帮助,因为它也只显示 Category 类的主键。我上下阅读了 Flask-SQLAlchemy 文档,但我一无所知。

非常感谢任何帮助和指点!

谢谢!

0 投票
1 回答
430 浏览

python - 使用烧瓶棉花糖时访问棉花糖装饰器

我正在使用 flask-restful、flask-sqlalchemy 和 flask-marshmallow 来构建 API 服务。我定义以下 -

但是,尝试使用 ma 访问 @validates 装饰器会引发错误。

我究竟做错了什么?直接使用 marshmallow 库并完全跳过使用 flask-marshmallow 会更好吗?

0 投票
1 回答
769 浏览

mongoengine - 在 marshmallow-mongoengine 中使用参考字段

如何取消引用 marshmallow_mongoengine 中的 ReferenceFields?例如,dump_data = author_schema.dump(author).dataresults in'5578726b7a58012298a5a7e2'而不是更有用的 response {title='Fight Club', author=author}

0 投票
1 回答
3524 浏览

flask-restful - 如何在 Marshmallow 模式中传递参数

如果我有模式,请使用 Python、Flask 和棉花糖:

和一个Parent有方法的类:

如何让 MarshmallowParent.getChildren在序列化对象时传递必要的参数,然后填充ParentSchema.children结果?