PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SqlAlchemy(Flask+Postgres):Wie aktualisiere ich nur ein bestimmtes Attribut eines JSON-Felds?

wenn Sie JSONB verwenden , können Sie das jsonb_set verwenden Funktion

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

wenn Sie aus einer anderen Spalte einfügen

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