Pony ORM
¶
什么是 Pony ORM?
PonyORM 社区
Pony 入门
安装
创建数据库对象
定义实体
数据库绑定
将实体映射到数据库表
使用调试模式
创建实体实例
db_session
编写查询
获取对象
更新对象
编写原始 SQL 查询
Pony 示例
连接到数据库
创建数据库对象
定义与数据库对象相关的实体
将数据库对象绑定到特定数据库
将实体映射到数据库表
数据库对象的属性和方法
使用数据库对象进行原始 SQL 查询
在原始 SQL 查询中使用参数
自定义连接行为
数据库统计信息
声明实体
声明实体
实体属性
必填和可选
主键
集合
复合键
复合索引
属性数据类型
属性选项
实体继承
多重继承
在数据库中表示继承
向实体添加自定义方法
映射自定义
混合方法和属性
实体关系
一对多关系
多对多关系
一对一关系
自引用
两个实体之间的多个关系
事务和 db_session
使用 db_session
db_session 和事务范围
同一个 db_session 中的多个事务
嵌套 db_session
db_session 缓存
使用 db_session 与生成器函数或协程
db_session 的参数
使用多个数据库
用于处理事务的函数
乐观并发控制
悲观锁定
Pony 如何避免丢失更新
事务隔离级别和数据库特性
处理中断
使用实体实例
创建实体实例
从数据库加载对象
通过主键获取对象
通过属性的唯一组合获取一个对象
获取多个对象
在查询中使用参数
对查询结果进行排序
限制所选对象的数量
遍历关系
更新对象
删除对象
批量删除
级联删除
将对象保存到数据库中
保存对象的顺序
保存对象时的循环链
实体方法
实体钩子
使用 pickle 序列化实体实例
查询
使用 Python 生成器表达式
使用 lambda 函数
用于查询数据库的 Pony ORM 函数
Pony 查询示例
查询对象方法
在查询中使用日期和时间
自动 DISTINCT
可以在查询中使用的函数
使用 getattr()
使用原始 SQL
使用 raw_sql() 函数
使用 select_by_sql() 和 get_by_sql() 方法
使用实体关系
建立关系
集合操作
属性提升
集合属性参数
集合属性查询和其他方法
聚合
查询对象聚合函数
一个查询中的多个聚合函数
函数
count
条件
count
更复杂的聚合查询
带有 HAVING 的查询
order by 部分中的聚合函数
JSON 数据类型支持
概述
声明 JSON 属性
为 JSON 属性赋值
读取 JSON 属性
修改 JSON 属性
查询 JSON 结构
数据库中的 JSON 支持
数组数据类型支持
概述
声明数组属性
数组操作
访问数组项
API 参考
数据库
Database 类
支持的数据库
SQLite
PostgreSQL
MySQL
Oracle
CockroachDB
事务和 db_session
事务隔离级别和数据库特性
实体定义
实体属性
属性种类
复合主键和辅助键
复合索引
属性数据类型
属性选项
集合属性方法
实体选项
实体钩子
实体方法
查询和函数
查询对象
统计信息 - QueryStat
与 flask 集成
Flask-Login
与 FastAPI 集成
设置
模型和模式
异步和 db_session
最智能的 Python ORM
导航
什么是 Pony ORM?
Pony 入门
连接到数据库
声明实体
实体关系
事务和 db_session
使用实体实例
查询
使用实体关系
聚合
JSON 数据类型支持
数组数据类型支持
API 参考
与 flask 集成
与 FastAPI 集成
ponyorm.com
图表编辑器
相关主题
文档概述
下一章:
什么是 Pony ORM?
快速搜索