zoukankan      html  css  js  c++  java
  • sqlalchemy 和 django 插入操作后自动返回自增ID

    result = session.execute('insert into ***')

    session.commit()

    last_insert_id = result.lastrowid

    注意:如果存在多个用户操作数据库,应保持每个用户或者每个请求线程拥有各自隔离的session

    https://segmentfault.com/q/1010000004328560

    def test_add(other):

        u = TestClass()

        u.Other = other

        session = database.get_session()

        try:

            session.add(u)

            session.commit()

            return u.Id

        except:

            return false

        finally:

            session.close()

        ui = UserInfo(userName='user'+str(random.randint(1,10000)))

        print ui.userId

        ui.save()

        print ui.userId

    应该第二次调用ui.userId 会得到返回值,但是,却没有。

    非常奇怪

    解决办法:

    将IntegerField 换成 AutoField 

    解决:http://stackoverflow.com/questions/7689553/empty-id-after-saving-model-to-database

    https://blog.csdn.net/iteye_16613/article/details/82573956

  • 相关阅读:
    勇气
    Node.js的安装和配置
    jekins构建时,远程执行shell的问题
    CDMA系统原理二
    详解Android定位
    Docker 简介
    Polly+HttpClientFactory
    K8s-Helm
    k8s-部署应用
    K8S-Pod
  • 原文地址:https://www.cnblogs.com/pythonClub/p/9886527.html
Copyright © 2011-2022 走看看