PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

SqlAlchemy(Flask+Postgres) :Comment mettre à jour uniquement un attribut spécifique d'un champ json ?

si vous utilisez JSONB , vous pouvez utiliser le jsonb_set fonction

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

si vous insérez à partir d'une autre colonne

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