【发布时间】:2023-03-16 11:24:01
【问题描述】:
我有一个包含 JSONB 列的 Postgres 表。如何在 SQLAlchemy 中不一次加载整个列的情况下查询该列的数据?
假设 JSONB 列 myjsonb 包含 {'a': 1, 'b': 2, 'c': 3, ... 'z': 26}。我只想要 'a' 的值,而不是全部 26 个值。我如何指定一个查询来做到这一点?
例如,
query = session.query(MyTable).options(defer('myjsonb')).join(MyTable.myjsonb['a'])
不起作用。
知道我如何只能检索'a' 吗?如果不存在密钥'a' 会发生什么?我怎样才能加载多个键,比如'b' 到 'f',但不能同时加载所有键?谢谢!
【问题讨论】:
标签: python json postgresql orm sqlalchemy