数据管理

Flask-SQLAlchemy中,插入、修改、删除操作,均由数据库会话db.session管理。

在准备把数据写入数据库前需要db.session.add()将数据添加到会话。

数据添加到会话中后调用db.session.commit()方法提交会话保存数据到数据库。

如果已经有数据添加到会话,但是中间有异常不提交数据,db.session.rollback()方法回滚会话。


if __name__ == '__main__':
    # 删除所有表,注意这条是危险命令,会将数据库中的表物理删除。在实际生产环境下勿用。
    db.drop_all()
    # 创建所有表
    db.create_all()

    # 创建一个 mother
    m = Father(name='围裙妈妈')
    db.session.add(m)

    # 创建了一个妈妈,但是我们这里是Father类,需要回滚会话
    db.session.rollback()

    # 创建一个father对象
    f = Father(name='小头爸爸')
    # 将数据添加到会话
    db.session.add(f)
    # 提交会话数据
    db.session.commit()

    # 创建两个Son对象,这里利用 到father对象id,需要先将Father对象提交才能拿到id
    s = Son(name='大头儿子',father_id=f.id)
    s1 = Son(name='中头儿子',father_id=f.id)
    # 同时添加多个数据,接收一个列表做为参数
    db.session.add_all([s, s1])
    # 提交会话数据
    db.session.commit()
Iyoyo电子书 一本集作者多年开发经验的python电子书 all right reserved,powered by Gitbook文件修订时间: 2022年 16:16:54