Python 如何使用postgres上的SQLAlchemy将元素插入嵌套JSONB数组
关于如何在postgres中存储JSONB,我已经看到了各种各样的好答案,但是从postgres 9.5开始,我们现在可以插入到现有的JSONB数组中,而无需更新列中的数据。我所能找到的材料中没有任何地方记录了这一点,而且由于我是SQLAlchemy(有些是python)的新手,阅读代码对我的帮助并没有我想要的那么大 我正在使用Postgres 10.9、python 3.7和SQLAlchemy 1.3.8(带有GINO包装器) 这只是最新的尝试,但也有许多尝试出现了无数不同的错误:Python 如何使用postgres上的SQLAlchemy将元素插入嵌套JSONB数组,python,postgresql,jsonb,gino,Python,Postgresql,Jsonb,Gino,关于如何在postgres中存储JSONB,我已经看到了各种各样的好答案,但是从postgres 9.5开始,我们现在可以插入到现有的JSONB数组中,而无需更新列中的数据。我所能找到的材料中没有任何地方记录了这一点,而且由于我是SQLAlchemy(有些是python)的新手,阅读代码对我的帮助并没有我想要的那么大 我正在使用Postgres 10.9、python 3.7和SQLAlchemy 1.3.8(带有GINO包装器) 这只是最新的尝试,但也有许多尝试出现了无数不同的错误: awai
await gathering. \
update(participation=func.jsonb_insert("participation",
"{applications}",
func.to_jsonb(json.dumps(application)))). \
apply()
在参与列中,我有一个JSONB对象
{
"applications": [ { ... element to be appended} ]
}
在这种特殊情况下,代码会产生一个错误:
无法确定多态类型,因为输入的类型未知
我想出来了
ajs = json.dumps(application)
await gathering. \
update(participation=func.jsonb_insert(
json.dumps(gathering.participation),
["applications","0"], ajs)). \
apply()
为试错干杯。有一个比这个更优雅的解决方案