SQLAlchemy修改postgres表的jsonb字段失效

今天遇到一灵异事件,ORM更新操作,一字段始终不生效,最后发现问题原因是postgres的jsonb导致的

表结构:

CREATE TABLE XX(value jsonb default '{}',...)

ORM:

from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.dialects.postgresql import JSONB

db = SQLAlchemy()

class XX(db.Model):
	 __tablename__ = 'xx'
	 
	 value = db.Column(JSONB, default={}, doc='xxx')
	 ...

常规的更新写法,对他不生效,需要如下操作才能更新成功:

from sqlalchemy.orm.attributes import flag_modified

obj = XX.query.first()
obj.value = new_value_dict
flag_modified(obj, "value")  # !!!! 不加就更新不成功
db.session.add(xx)
db.session.commit()

相关推荐

  1. SQLAlchemy修改postgresjsonb字段失效

    2024-04-01 04:30:03       15 阅读
  2. mybatis查询修改mysqljson字段

    2024-04-01 04:30:03       32 阅读
  3. flask-sqlalchemy配置、字段说明

    2024-04-01 04:30:03       41 阅读
  4. 一次Postgres实体重构经历

    2024-04-01 04:30:03       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 04:30:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 04:30:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 04:30:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 04:30:03       20 阅读

热门阅读

  1. 华为OD机试 Python -采样过滤

    2024-04-01 04:30:03       14 阅读
  2. 1-323作业

    2024-04-01 04:30:03       14 阅读
  3. 10_MVC

    10_MVC

    2024-04-01 04:30:03      17 阅读
  4. 计算机组成原理

    2024-04-01 04:30:03       18 阅读
  5. I.MX6ULL_Linux_驱动篇(59)linux ADC驱动

    2024-04-01 04:30:03       18 阅读
  6. 【小熊猫 ide】更新支持mingw 支持c++20

    2024-04-01 04:30:03       19 阅读
  7. (root用户与非root用户)linux下安装最新版tmux

    2024-04-01 04:30:03       14 阅读
  8. day 2| 上下文Context

    2024-04-01 04:30:03       15 阅读