问题标签 [marshmallow-sqlalchemy]

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 回答
106 浏览

python-3.x - 什么是字段的替换。烧瓶棉花糖中的方法?

我正在使用 python-flask 编写一个 REST API。

我想在序列化它们之前对获取的字段进行一些处理。所以我想最好的解决方案是 fields.Method 但似乎 fields.Method 自 3.0 版本以来已从棉花糖中删除。棉花糖模式中的替代品是什么?

0 投票
1 回答
148 浏览

python - 如何仅在嵌套模式中解析属性值?

我使用marshmallow将我的SQLAlchemy实体转储为 JSON,如下所示:

问题是上面的代码使用嵌套对象而不是纯 int-list 生成 JSON:

如何告诉棉花糖只解析id属性的值:"children": [1, 2]

0 投票
1 回答
104 浏览

python - 阅读时避免来自 MySQL 数据库的多个 json.loads

我是 python 编程的新手,想在pythonanywhere.com上用烧瓶建立一个 MySQL 数据库。我使用Marshmallow-sqlalchemy从/向数据库执行读/写过程。现在,我对以下复杂的阅读过程有点困惑:

这就是我设置文件的方式:

那么,关于如何简化我的代码的任何想法?

0 投票
1 回答
255 浏览

flask-sqlalchemy - 如何在 Marshmallow 中创建模式以反向嵌套查询数据?

抱歉,如果这听起来很愚蠢,但我正在尝试为作者获取所有书籍。这就是我所拥有的:

我有我的模式:

这样我就可以与作者和作者一起检索书籍。我需要在这里添加一个包含每个作者的所有书籍的嵌套字段......我一直在尝试,但没有这样做。有没有自动的方法来得到这个?

我正在尝试加入查询中的表,但也没有这样做:

session.query(Author, Book).join(Book, Author.id == Book.author_id).all()

这给了我一个 (Author, Book) 元组,我不能把它映射成一个简洁的 json ......我怎么能这样做?

0 投票
1 回答
216 浏览

python-3.x - 发布嵌套模型 SQLAlchemy-Marshmallow

我正在尝试将 SQLAlchemy 与 Marshmallow 结合起来。我有一个包含一些资产和交易对的 Flask API。我想要这些模型之间的双向一对多关系。我有以下代码:

使用以下资源进行交易对 POST:

我希望 SQLAlchemy 添加作为新交易对的一部分发布的新资产。但是,如果我想使用以下 JSON 通过 API 发布新对:

这可以正常工作,并且该对按预期添加到数据库中。当我尝试添加另一对包含 Dash 或 Tether 时,就会出现问题。该对再次添加到数据库中,并且违反了我对 Asset 表的唯一性约束。如何确保未创建新实例但使用现有资产?

0 投票
2 回答
1498 浏览

python - TypeError:'Transaction' 对象在 Python 3.6 上的 Flask 中不可迭代

我正在尝试使用序列化程序将我的 JSON 数据存储到数据库中。我创建了一个 API 并在邮递员中使用。像 :

POST 端点:API/transaction和带有JSON格式的数据

在我加载到序列化程序的地方,它返回一个错误。我也在shell中测试过。我在调试工具中没有得到确切的错误。

我的序列化程序是:

这是蟒蛇壳

0 投票
1 回答
308 浏览

marshmallow - 反序列化多对多 PUT 操作的 id 列表

我有一个具有多对多关系的用户和角色模型

然后我为用户定义了模式来嵌套角色。

对于序列化,当角色对象列表包含在用户 GET 请求中时,这非常有用。还可以使用在请求中嵌入新角色对象的用户发布。我无法弄清楚的是如何发布/放置现有角色ID的列表,而不是创建新对象。例如,此请求有效:

回复:

但是这些请求都不起作用:

我收到以下回复:

我可以说我在模式中遗漏了一些东西以便能够摄取 id 而不是对象,我怀疑我需要使用 dump_only/load_only 并可能为 PUT 使用单独的模式。但是,我无法在网上的任何地方找到这个用例的示例。

提及我flask-smorest用于请求验证和模式参数摄取也可能会有所帮助。

update_with_db 看起来像:

感谢您的任何帮助。

0 投票
2 回答
1538 浏览

python - 如何让 Marshmallow-Sqlalchemy 按关联对象字段排序?

如何让 Marshmallow 通过关联对象 (seat_index) 中的字段对返回的数据集进行排序?
最终结果是按上课时间排序一堆教室对象,然后按学生座位索引。

我正在寻找与下面的非工作代码等效的东西......


只有使用 SQLalchemy,我才能创建一个有效的查询——使用 seat_index 进行排序)


使用 Marshmallow 和 SqlAlchemy,我可以 order_by 一个字段 (start_time)——只要该字段在 Classroom 模型中


问题——我不确定如何在排序中包含关联对象的 seat_index 字段。
任何朝着正确方向的推动都值得赞赏——因为我是 Marshmallow 的新手。


缩写代码供参考

输出

架构.py

模型.py

应用程序.py

0 投票
1 回答
353 浏览

marshmallow-sqlalchemy - 使用订单输出参数并使用 marshmallow-sqlalchemy 指定序列化键

我正在使用 marshmallow 3.4.0 和 marshmallow-sqlalchemy 0.22.2

我有这个 SQLAlchemy 模型和 Marshmallow 模式

如果我删除 zone_id = auto_field(data_key="id") 这些字段,则按要求排序。

如果我删除

根据要求将密钥设置为id

如果我运行上面的代码,我会收到此错误

有人可以向我解释如何设置访问 zone_id 字段并添加“data_key”属性吗?

0 投票
1 回答
122 浏览

sqlalchemy - 在多态标识中包含棉花糖模式中的子字段

我在数据库中有一个模型来存储全局应用程序设置。设置可以有不同的类型,所以我制作了一个具有多态身份的 data_type 广告鉴别器。

当我尝试转储我收到的所有对象时,没有找到“价值”。

问题是如何将价值包含到棉花糖模式中?