开始之前我们先简单介绍一下Django中的Models
在Django中,一个Model对应着一张数据表,Model以类的方式表现,类中包含了当前的表中的字段 及 对数据的操作。所以这里我们只需要以创建类的形式即可创建数据表,那么我们在操作数据库的时候不需要敲任何SQL语句,只需要对类和对象进行相关操作即可。这无疑是给我们的开发提供了很便捷的方式,那么为什么Django能实现这么方便的数据库操作方法呢,当然这种方式(框架)不是Django独创的,我们称它为ORM,而且支持ORM的框架远远不止Django一种。
什么是ORM
Object Relational Mapping,简称ORM 对象关系映射
这种模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
简单来说,它主要实现 对象 和 数据库 之间的映射,封装数据访问的细节,开发中不需要编写源生SQL语句,给开发者提供便利。
使用Models创建表 并 从数据库读取数据
首先我们需要在应用目录下创建models.py (如果此文件不存在的话),并在文件中引入models模块,但Django已经帮我们做好了这一步,所以此步骤可以省略。
然后我们在models.py文件中创建一个以表名命名的类 并 继承models.Model类(一定要继承,注意大小写),在类中创建表的字段 (这里表字段就是类中的成员属性,详见下图)
创建表 及 表字段创建完成后,我们先进入manage.py的同级目录,接着运行python manage.py makemigrations命令准备数据迁移,迁移成功后我们可以看到migrations目录下系统生成的数据迁移文件
准备数据迁移 系统生成的数据迁移文件 及 内容数据迁移准备成功后,我们再运行python manage.py migrate命令执行数据迁移即可,命令执行成功的话,我们的表就创建成功啦。
执行数据迁移数据迁移成功后,你可以通过python manage.py sqlmigrate blog(应用名) 0001(数据迁移文件的id) 命令查看系统帮我们建表的SQL语句
查看建表语句使用SQLite Expert Professional工具添加一条数据,当然Model也是可以创建数据的,这里我主要是为了引出这个我认为比较好用的轻量级管理工具。。。 官方下载地址 百度网盘下载地址
使用管理工具添加一条测试数据数据创建成功后,我们可以通过Model读取数据库中的数据
读取数据在模板输出数据
输出数据然后就可以在页面中看到我们的输出啦
查看输出结果
网友评论