美文网首页
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