У меня есть таблица, в которой есть один столбец, объявленный как json, и мне нужно обновить записи, добавив значение ключа в значение json.SqlAlchemy (Flask + Postgres): Как обновить только определенный атрибут 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}
, если я не хочу, чтобы запросить значение первых, изменение и обновление обратно.
Мне сложно определить, как это сделать в одном запросе, пожалуйста, помогите, спасибо!