PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

SqlAlchemy(Flask+Postgres):come aggiornare solo un attributo specifico di un campo json?

se stai usando JSONB , puoi usare il jsonb_set funzione

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

se stai inserendo da un'altra colonna

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