【发布时间】:2016-06-24 04:42:41
【问题描述】:
我有一个表,其中有一列声明为 json,我需要通过向 json 值添加键值来更新记录。
型号
class User(db.Model):
__tablename__ = 'users'
loginId = db.Column(db.String(128), nullable=False, primary_key=True)
_password = db.Column(db.String(128), nullable=True)
views = db.Column(JSON, nullable=True)
控制器
@mod_event.route('/view', methods=['POST'])
def view():
try:
params = request.json
loginId = params['dream']['loginId']
users.update().\
where(users.c.loginId==loginId).\
values(views=<query>))
假设views 中的当前值为 {'1001' : 1}
如果 views 必须更新为 -
- {'1001' : 2}
- {'1001' : 1, '1002' : 1}
如果我不想先查询该值,请更改并更新回来。
我很难弄清楚如何在单个查询中执行此操作,请帮助,谢谢!
【问题讨论】:
-
更新整个 json 字段对我有用。检索 json,对其进行修改并保存回来。
-
仅供我理解。你能解释一下你是如何创建
users的吗?
标签: python json postgresql sqlalchemy flask-sqlalchemy