问题标签 [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.
python - Flask-Restless & Marshmallow:“dict”对象没有属性“_sa_instance_state”
我正在使用 Flask-Restless、Flask-SQLAlchemy 和 Marshmallow 开发一个基本的 CRUD JSON REST API。
我在使用这种库组合时遇到了问题,但只有当我使用 Marshmallow 启用反序列化时。
我已经广泛地搜索了这个错误,但是我只在使用数据库关系时发现了类似的问题,而我不是。
我一直在从我的应用程序中删除尽可能多的代码,但仍然遇到相同的错误。以下代码块是本地运行的 1:1。
模型.py:
序列化程序.py:
主要.py:
测试.py:
正在使用的版本:
最后,运行测试时的完整堆栈跟踪:
python - SQLAlchemy-Marshmallow 查询和序列化为 JSON 的速度很慢
我对此有点陌生,所以如果有人可以帮助我,那就太棒了。
所以我在 SQLAlchemy 中为我正在开发的 Flask 应用程序设置了一些模型。在构建应用程序时,我用一些假数据填充了数据库(当前是 SQLite),我有点惊讶我的一个调用有多慢。
我在数据库中有一个名为 Menu 的表。菜单有一个孩子,sections,它有一个孩子,items。像这样:
- 菜单
- 部分
- 项目
- 部分
我要查询的对象是 1 个菜单,它有 4 个部分,每个部分有 10 个项目。
在我的 Flask 路由中,我使用 Menu.query.get(id) 查询数据库并使用棉花糖将其序列化为 JSON。
整个过程需要 250 毫秒的时间才能在我的本地机器上返回。
所以我的问题是:我担心 250 毫秒是愚蠢的吗?缓慢的罪魁祸首是什么?- 糟糕的架构设计?- SQLite / 使用 SQL 数据库?- 别的?
任何帮助将不胜感激。
此外。我最初还有 2 个更深的级别(项目有选项可以选择),但它需要大约一秒钟才能完成,所以当用户请求特定项目时,我将它们移动到单独的端点。
sqlalchemy - Sqlalchemy/marshmallow 单码表连接
我正在使用现有数据库实现烧瓶休息 API。db 包含一个通用查找表,其中多个查找按代码类别分开。
我有很多引用“CommonCode”的表
当我尝试使用下面的代码进行参考时,它将返回 ID 而不是“代码描述”列,
我正在使用棉花糖。如果指定列,
ItemTypeDesc = field_for(CommonCode, 'CodeDesc')
则对象将返回"<Model.xxxx.CommonCode object at 0x00F8D710>
。是否有推荐的方法来实现 sqlalchemy/marshmallow 中的通用代码表?
.
python - 如何将 bjson 结构反序列化为棉花糖模式
我正在尝试将 bjson 结构转换为棉花糖库中的模式。
下面是棉花糖模式:
下面是 bjson 将被转换为模式:
请注意,bjson 的“_id”为 ObjectId - “$oid”。这是因为使用 mongodb 的查询结果。
请问,有谁知道为什么不正确地从 bjson 转换为 marshmallow 模式?
谢谢你们!
python - 用棉花糖序列化两个嵌套模式
我对python相当陌生。我有两个 SQLAlchemy 模型如下:
我有两个棉花糖模式类:
我创建了一个嵌套模式类,例如:
我正在做这样的连接查询:
数据加载到我检查过的对象中。如何解析这个模式?我试过了
这会产生错误:“列表对象不可迭代。”
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/ 但仍然卡住了。
flask - 如何构建一个 API 端点,外键替换为它们的值?
我目前正在使用 Flask、SQLAlchemy 和 Marshmallow 构建一个 API。我有一个相当简单的数据库模型,如下所示:
我的 Marshmallow Schema 如下所示:
还有一个非常简单的 API 端点:
我现在的问题:如何构造一个包含类别名称而不是主键的 JSON 响应?我尝试了“所有事务中的事务”位,在打印语句中我得到了类别名称,但它没有显示在我的 JSON 响应中......
我不完全确定如何编写数据库模型。我特别坚持的是 db.relationship。在我的 Transaction 类中声明它似乎没有帮助,因为它也只显示 Category 类的主键。我上下阅读了 Flask-SQLAlchemy 文档,但我一无所知。
非常感谢任何帮助和指点!
谢谢!
python - 使用烧瓶棉花糖时访问棉花糖装饰器
我正在使用 flask-restful、flask-sqlalchemy 和 flask-marshmallow 来构建 API 服务。我定义以下 -
但是,尝试使用 ma 访问 @validates 装饰器会引发错误。
我究竟做错了什么?直接使用 marshmallow 库并完全跳过使用 flask-marshmallow 会更好吗?
mongoengine - 在 marshmallow-mongoengine 中使用参考字段
如何取消引用 marshmallow_mongoengine 中的 ReferenceFields?例如,dump_data = author_schema.dump(author).data
results in'5578726b7a58012298a5a7e2'
而不是更有用的 response {title='Fight Club', author=author}
。
flask-restful - 如何在 Marshmallow 模式中传递参数
如果我有模式,请使用 Python、Flask 和棉花糖:
和一个Parent
有方法的类:
如何让 MarshmallowParent.getChildren
在序列化对象时传递必要的参数,然后填充ParentSchema.children
结果?