技术栈

Python中 session flush 和 commit 的区别

线程A2025-12-11 8:03

flush():将挂起的操作发送到数据库,但不提交事务

user = User(name='John', age=30)

session.add(user)

session.flush() # 生成SQL并发送到数据库,分配ID,但未提交

print(user.id) # 此时可以获取到ID(如果自增)

可以继续操作

session.add(Email(address='john@example.com', user_id=user.id))

commit():提交整个事务

session.commit() # 所有操作永久保存到数据库

上一篇:java发送飞书消息卡片
下一篇:Netty(4)Netty的Channel是什么?它有哪些类型?
相关推荐
xixihaha1324
1 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
夕除
1 小时前
Mysql--07
数据库·mysql
数据最前线
1 小时前
5个瞬间,盘点国产数据库的2025年
数据库
jiankeljx
1 小时前
Redis-配置文件
数据库·redis·oracle
xixihaha1324
1 小时前
Python游戏中的碰撞检测实现
jvm·数据库·python
Schengshuo
2 小时前
SQL 中 COUNT 的用法详解
数据库·sql
顶点多余
2 小时前
Mysql--后端与前端关系
数据库·mysql
mygljx
2 小时前
【MySQL 的 ONLY_FULL_GROUP_BY 模式】
android·数据库·mysql
sunwenjian886
2 小时前
Springboot项目本地连接并操作MySQL数据库
数据库·spring boot·mysql
ID_18007905473
2 小时前
模拟1688商品详情的Python API实现,返回符合风格的JSON数据
开发语言·python·json
热门推荐
01GitHub 镜像站点02Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南03OpenClaw 使用和管理 MCP 完全指南04UV安装并设置国内源05OpenClaw Control UI安全上下文访问配置06本地部署 OpenClaw + DeepSeek-R1 完全指南07OpenClaw macOS 完整安装与本地模型配置教程(实战版)08小黑课堂计算机二级WPSoffice题库软件下载安装教程(2026年3月最新版)09Claude Code + GLM4.7 避坑指南:解决 Unable to connect to Anthropic services10让 Trae IDE 智能体 “读懂”文档 Excel+PDF+DOCX :mcp-documents-reader 工具使用指南