zoukankan      html  css  js  c++  java
  • flask_sqlalchemy中的db.session.update()与db.sesssion.merge()方法的区别,db.session.query(Model)与Model.query()的区别

    调用merge()方法,此时实体状态并没有被持久化,但是数据库中的记录被更新了.merge方法与update方法的差别在于针对同样的操作update方法会报错
    session.merge()方法会首先发送一句select语句,去数据库中获取UserInfo持久化标识所对应的表记录;然后自动生成一个持久化状态的实体,与脱管状态的实体做比较是否有所改变;一旦发生了改变,才会发送update语句执行更新。而按执行顺序,若两句session.merge()方法针对同一个脱管状态的实体,那其结果只会执行最后一个session.merge()方法所发出的update语句。
     
    db.session.commit()提交了数据到数据库,但是没有刷新模型映射中的数据,也就是model.query()中的数据。
    而使用db.session.query()则是 从整个服务会话中进行查询,而db.session.commit()提交的数据在这里是有刷新的
     
  • 相关阅读:
    第三章 p62 或运算
    p57 字符串的长度
    p53 ASCII码
    整数类型,如同时钟
    重要:原码、反码、补码...
    p42 实验溢出(上溢)
    P40 字节单位:KMGT
    p38 二、八、十六进制的对应关系
    p13 数组元素的地址
    p11 内存中的数据和地址
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/12425192.html
Copyright © 2011-2022 走看看