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

python - 分页前 SQLAlchemy 查询速度慢

我正在使用 Flask 和 SQLAlchemy 创建 API。在我进行分页查询时的 get 端点中,即使两个查询都带来相同的数据,它也比不分页时更快(比如快两倍)。

字符串查询是这样的:

但是,当我对查询应用分页(即 query.limit(20).offset(0))时,查询更改为:

即使我应用无和 0 的分页(即 query.limit(None).offset(0))也是如此。

有谁知道为什么会这样?

0 投票
0 回答
25 浏览

python - 从数据库会话中取消绑定 Marshmallow 瞬态对象

我正在使用 marshmallow_sqlalchemy 库从模式中的对象构建对象,然后添加数据库。我的 Marshmallow 和 Sqlalchemy 类定义如下:

我有两个会话;db.sessionsession_2。默认情况下,通过创建的对象PersonSchema附加到db.session。但我需要使用session_2将这些对象添加到数据库中:

如果我使用db.session将此对象添加到 db 它将正常工作:

但是,当我想这样使用时session_2

我收到一个错误: 这是预期的,因为默认情况下应该附加sqlalchemy.exc.InvalidRequestError: Object '<Person at 0x7ff9193e27d0>' is already attached to session '2' (this is '4') 构建的对象。PersonSchemadb.session

我的问题是:有没有办法在不改变定义的情况下person解除绑定db.session以便能够使用它?或者也许在调用时如何覆盖默认会话(我试过但没有用)?避免/解决这种情况的最佳方法是什么?session_2PersonSchema.load.load(person_data, session=session_2)

0 投票
0 回答
27 浏览

python - 架构加载问题

我正在尝试使用带有烧瓶的 sqlalchemy 在 python 上编写一个项目。所以我有部门。

和员工阶层

所以我不仅要创建一个空部门,然后在那里输入员工,还要创建已经有员工的部门。我正在使用 post 方法。

问题是,当我测试创建空部门时,一切都很好,但是当我与员工一起创建部门时,我得到

这是我的部门课程架构

问题是,我猜,架构不期望 Department 有 2 个参数(“title”和“employees”),但是当只加载“title”时没有任何不好的事情发生。有人知道如何解决吗?我真的很感激。我还将在 GitHub https://github.com/selezenart/department_api上的项目上应用链接

0 投票
0 回答
18 浏览

python - 有没有办法使用棉花糖 sqlAlchemy 对多个对象进行建模?

我有以下 SqlAlchemy 配置(为简洁起见,伪代码):

我有一个 Marshmallow SqlAlchemy 模式,如下所示:

我正在使用的查询如下所示:

我怎样才能C.id在我的ASchema课程中加入,以便我以后可以访问它?