PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

SqlAlchemy(Flask+Postgres):Como atualizar apenas um atributo específico de um campo json?


se você estiver usando JSONB , você pode usar o jsonb_set função
(table
 .update()
 .values(views=func.jsonb_set(table.c.views,
                              '{%s}' % '1002',
                              1))
 .where(...))

se você estiver inserindo de outra coluna
(table
 .update()
 .values(views=func.jsonb_set(table.c.views,
                              '{%s}' % '1002',
                             other_table.c.other_column.cast(String).cast(JSONB)))
 .where(...))