Django模型(ORM框架简介)
ORM是对象关系映射模式,是通过描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
优势:ORM 通常把一个类和一个表对应,类的每一个实例对应表中的每一条记录,类的每个属性对应表中的每个字段。提供了对数据库的映射,不用直接编写SQL代码,只需向操作对象一样从数据库操作数据。
劣势:会在一定程度上牺牲程序的执行效率。orm用多了SQL语句就不会写了,关系数据库相关技能退化。
示意图
模型类
定义属性
Django根据属性的类型确定以下信息:
- 当前选择的数据库支持字段的类型
- 渲染管理表单时使用的默认html控件
- 在管理站点最低限度的验证 Django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后Django不会再创建自动增长的主键列。
默认创建的主键列属性为id,可以使用pk代替,pk全拼为primary key
pk是主键的别名,若主键名为id2,那么pk是id2的别名。
属性命名限制:
- 不能是python的保留关键字。
- 不允许使用连续的下划线,这是由django的查询方式决定的,在后面会详细讲解查询。
- 定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下:
属性=models.字段类型(选项)