Python编程应用实战,尽在掌握
在上一章,我们完成了一个Django环境的搭建的安装。本章开始,我们着手构建我们基于Django的Restful服务,创建一个存储和记录电影信息的数据模型。
在现代动态网站中,底层数据库是每个网站的标配,也是绝大多数网站的唯一的数据来源,其用于存储网站所需的各种数据表及其表内的数据。
在Django中,模型用来作为数据库在框架中的表示,一般而言,一个模型就对应于数据库中的一张唯一的数据库表。
Django的模型有以下特点:
具体的Django模型使用方法,大家可以参考Django官方文档。下面,我们在项目中创建并生成一个模型。
2.1、定义一个模型
打开应用movies目录下的models.py文件:
在文件内定义一个模型类Movie,代码如下所示:
在此,我们为这个名为Movie的模型(数据库表),定义了5个属性(字段),分别是电影名称、电影分类、上映日期、观看状态和创建时间。接下来,我们生成这个模型。
2.2、生成一个模型
在Django中,一个模型从定义完成到在数据库中创建(或修改)数据库表,需要两个步骤:
创建模型的迁移(生成模型中的变动)
执行模型的迁移(根据模型中的变动在数据库中执行相应的操作)
这两个步骤分别通过django的manage.py提供的makemigrations命令和migrate命令来实现。
下面我们通过这两个命令来生成一下刚刚定义好的模型。
2.2.1、创建模型的迁移
在vieturalenv虚拟环境下的项目目录下打开命令行窗口:
在光标下输入以下命令:
其会提示我们模型中将会创建一个Movie模型:
2.2.2 执行模型的迁移
接着,我们就可以使用migrate命令来执行模型的迁移了,同样在光标下输入以下命令:
因为我们第一次执行模型的迁移,Django项目中默认的很多模型,比如认证模型、用户模型、会话模型等也在本次模型迁移中被创建了:
2.3、查看模型
执行完模型的迁移,我们的数据库中就会创建对应的数据库表。在本次项目中,为了方便操作和演示,我们没有自定义数据库,所以使用的是默认的sqlite3数据库。
如果有需要,大家可以自行选用其他的数据库。这时候,在项目目录下,可以发现已经存在一个sqlite3数据库的文件:
我们可以通过很多相关的软件打开sqlite数据库文件,在此我们使用的是SQLite Expert的个人版。
启动之后,选择打开我们项目下的db.sqlite3文件:
左侧的db下,显示的就是我们这个db.sqlite3数据库中所包含的数据库表,可以发现我们在movies应用下定义的movie模型也在其中。点击movies_movie表,右侧的内容栏会出现这个表的信息:
现在表中没有数据,但是我们可以看到这个表的字段,除了我们定义的5个字段外,还有一个默认的自增id字段。通过这个工具,我们可以在Django admin界面之外很方便的查看和管理数据。
2.4、本章小结
在本章,我们介绍并使用了Django的模型。通过模型类来定义数据模型,并通过迁移生成模型数据表。最后利用sqlite的可视化管理工具查看了生成的模型数据表。
如果觉得本文不错,欢迎打赏:
如果有疑问,欢迎留言或向我提问:
动动手,分享公众号给更多小伙伴一起学习进步^_^
领取专属 10元无门槛券
私享最新 技术干货