sql >> Base de Datos >  >> RDS >> PostgreSQL

SqlAlchemy (Flask + Postgres):¿Cómo actualizar solo un atributo específico de un campo json?

si está utilizando JSONB , puede usar el jsonb_set función

(table
 .update()
 .values(views=func.jsonb_set(table.c.views,
                              '{%s}' % '1002',
                              1))
 .where(...))

si está insertando desde otra columna

(table
 .update()
 .values(views=func.jsonb_set(table.c.views,
                              '{%s}' % '1002',
                             other_table.c.other_column.cast(String).cast(JSONB)))
 .where(...))