小编ant*_*uan的帖子

禁用 sqlalchemy 事件侦听器的方法

我使用 sqlalchemy 1.0。我的项目有多个模型,其中一些具有事件侦听器,例如 event.listen(Model, 'after_update', Model._after_update).

在单元测试的情况下,我需要禁用模型/会话/等上的所有事件侦听器。

特定测试完成后,我需要启用所有侦听器。

有没有办法实现这一目标?

python unit-testing sqlalchemy

6
推荐指数
1
解决办法
1297
查看次数

如何替换 sqlalchemy 查询中的列

我有疑问:

q = Session.query(func.array_agg(Order.col)) 
Run Code Online (Sandbox Code Playgroud)

编译后的查询将是:

SELECT array_agg(order.col) FROM orders
Run Code Online (Sandbox Code Playgroud)

我想动态替换现有的列。替换查询后必须是:

SELECT group_concat(orders.col) FROM orders
Run Code Online (Sandbox Code Playgroud)

我必须使用会话和模型。我不必使用 SQLAlchemy 核心。我不必使用子查询。当然,还可以有其他一些列,但我只需要替换一列。我试图替换column_descriptions属性中的对象,我尝试使用q.selectable.replace(或类似的东西,抱歉,但我不记得正确的名称),但我没有得到正确的结果。

python sqlalchemy

1
推荐指数
1
解决办法
3530
查看次数

标签 统计

python ×2

sqlalchemy ×2

unit-testing ×1