更改字典中的值,存储在 SQLite 数据库中 (Flask Python)

Changing value in dictionary, stored in SQLite database (Flask Python)

我有一个使用 SQLite 数据库的 Flask 应用程序。我创建了这个模型来将数据加载到 db

class Category(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    products = db.Column(db.Text)

此数据库已填充了大量信息,我正在尝试更改存储信息中字典中的特定变量。

# print 'products' for the first Category stored

x = Category.query.all()
xLoaded = json.loads(x[0].products)
print(xLoaded)

# output
[['test1', {'path': ['a', 'b', 'c']}], ['test2', {'path': ['d', 'e', 'f']}]]

具体来说,我试图在 'test1' 中更改 'b',所以我尝试了这个:

x = Category.query.all()
xLoaded = json.loads(x[0].products)
xLoaded[0][1]['path'][1] = 'z'

db.session.commit()

然而,这并没有改变任何东西。

代码仅更改变量 xLoaded 的值而不是 x

改变变量的值x

x = Category.query.all()
xLoaded = json.loads(x[0].products)
xLoaded[0][1]['path'][1] = 'z'
x[0].products = xLoaded

db.session.commit()