相关疑难解决方法(0)

SQLAlchemy列到行转换,反之亦然 - 这可能吗?

我正在寻找一个SQLAlchemy唯一的解决方案,用于将从表单提交收到的字典转换为数据库中的一系列行,每个字段用于提交的每个字段.这是为了处理各种应用程序差异很大的首选项和设置.但是,它很可能适用于创建类似功能的数据透视表.我在ETL工具中看到了这种类型的东西,但我一直在寻找一种直接在ORM中完成它的方法.我找不到任何文件,但也许我错过了一些东西.

例:

从表格提交:{"UniqueId":1,"a":23,"b":"你好","c":"世界"}

我希望它被转换(在ORM中),以便它像这样记录在数据库中:

_______________________________________
|UniqueId| ItemName   | ItemValue     |
---------------------------------------
|  1     |    a       |    23         |
---------------------------------------
|  1     |    b       |    Hello      |
---------------------------------------
|  1     |    c       |    World      |
---------------------------------------
Run Code Online (Sandbox Code Playgroud)

在选择时,结果将被转换(在ORM中)回到来自每个单独值的一行数据.

---------------------------------------------------
| UniqueId  |  a     |     b      |       c       |

---------------------------------------------------
|   1       |  23    |   Hello    |   World       |

---------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我假设在更新时最好的做法是在事务中包装一个删除/创建,这样就会删除当前记录并插入新记录.

最终的ItemNames列表将保存在一个单独的表中.

完全接受更优雅的解决方案,但是如果可能的话,我们希望远离数据库方面.

我在SQLAlchemy中使用了declarative_base方法.

提前致谢...

干杯,

保罗

python orm sqlalchemy pivot-table transformation

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

标签 统计

orm ×1

pivot-table ×1

python ×1

sqlalchemy ×1

transformation ×1