更改字典中的值,存储在 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()
我有一个使用 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()