- O(objects):类和对象
- R(Relation):关系,关系数据库表格
- M(Mapping):映射
- ORM框架功能
- 建立模型类和类之间的对应关系,允许我们通过面向对象的方式来操作数据库
- 根据设计的模型类生成数据库中的表格
- 通过方便的配置可以进行数据库的切换
- 数据库的字段类型
- Mysql常用数据类型
- 整数:int bit
- 小数:decimal(decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位)
- 字符串:varchar,char(char不可变长度,varchar可变长度)
- 日期时间:date,time datetime
- ORM模型中对应的字段(下面为django的ORM模型中选取的几个字段)
- BooleanField:布尔类型,值为True或False
- CharField:字符串,参数max_length表示最大字符个数
- IntegerField:整数
- Mysql常用数据类型
- 模型类案例
- 描述器实现ORM模型中的字段类型
- 实现字符串字段
二,ORM模型的实现思路
在python的Django中以及Flask-SQLAlchmey中操作数据库时会用到ORM模型,通常元类用来创建API是非常好的选择,使用元类的编写很复杂但使用者可以非常简洁的调用API
- ORM:模型即对象通过关系来映射到数据库
- O(objects):类和对象
- R(Relation):关系,关系数据库表格
- M(Mapping):映射
- 实现技术点分析
- 类对应表,创建表时需要自动生成对应的数据表
- 对象对应一条数据,创建一个对象,需要在数据表中添加一条数据
- 属性对应字段,修改对象属性的同时需要修改数据库中对应的字段
- 实现步骤
- 定义字段类型
- 定义模型类,由于类对应数据表,那么定义模型类时应当在数据库中创建对应的数据表