美文网首页
Column(json)存list的问题

Column(json)存list的问题

作者: 晓函 | 来源:发表于2021-04-06 15:09 被阅读0次

JSON保存list的时候,直接赋值完整的list是没问题的,但是一旦需要原基础上append,那就一直无法更新到数据库

#原来nickname是abc
user = db.session.query(User).get(1)
user.friends = ['aa','bb']#这样没问题
db.session.add(user)
db.session.commit()
print(user.friends)#打印出来是[aa,bb]

user = db.session.query(User).get(1)
user.friends.append(['ccc'])
db.session.add(user)
db.session.commit()
print(user.friends)#打印出来还是[aa,bb]

原来是因为ls内存拷贝的问题

a = [1,2,3]
b = a
a[0] = 0
print(b)#打印出来的是[0,2,3]

解决办法

python提供了内存拷贝给我们

import copy
user = db.session.query(User).get(1)
frds = copy.copy(user.friends)
frds.append(['ccc'])
user.friends = frds
db.session.add(user)
db.session.commit()
print(user.friends)#打印出来是[aa,bb,ccc]

相关文章

网友评论

      本文标题:Column(json)存list的问题

      本文链接:https://www.haomeiwen.com/subject/ukgskltx.html