首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django框架开发012期 Django框架开发Sqlite数据库,数据表的生成,命令行生成用户表

在第11期中,老刘已经为读者介绍了用户模型,本期开始就将该用户模型生成到数据库中,您会发现用Django开发数据库模块管理变得多么方便!

读者在学习Django的orm开发时,不仅要关注到模型类的建立思想,更要主要将该模型类实践到模块中,并注意观察数据库中数据表的创建以及数据的增删改查。

5.2数据表的生成,命令行生成用户表

如果想要将模型生成数据表,我们需要使用命令生成迁移文件,并且将迁移操作文件生效到数据库中。

数据模型的创建除了要为做数据的增删改查时提供必要的条件外,还能间接生成相应数据表,为数据的永久存储提供条件。

1)迁移文件的生成

我们使用如下命令格式来让模型生成数据表的迁移文件:

python manage.py makemigrations 应用的名称

本案例来使用命名生成一个用户信息表:

python manage.py makemigrations ljyapp

这里的ljyapp是我们创建的一个应用程序,当以上命令执行后,系统将在ljyapp应用中的migrations文件夹中生成模型对应的迁移文件。

值得我们注意的是,我们在执行命令之前记得必须将当前的应用的名称配置到框架配置文件settings.py中,否则将会报错,在报错中也会提示我们去配置应用。

现在我们先打开项目文件,找到settings.py文件中的INSTALLED_APPS这个列表变量,在其列表的最后加上应用的名称’ljyapp’,注意它是一个字符串表示的,如下图所示。

在应用配置完成后,我们再来执行迁移文件生成命令,提示文件已经生成。

我们打开这个迁移文件来观察一下,发现这个迁移文件其实也是一个类,类的属性是一些列表,而属性的内容对应了之前我们创建的模型类名称和属性。

我们其实可以通过sqlmigrate命令看到这个迁移操作文件对应的sql脚本语句。命令的格式如下

现在来看本案例由用户模型LjyUser生成的迁移文件0001_initial对应的sql脚本语句如下图所示,这个sql语句其实就是与我们在数据库基础实战中讲到的sql语句创建数据表的语句是类似的。

2)迁移操作文件的生效

我们在使用命令生成数据表之前可以先准备好sqlitestudio工具打开数据库,观察到原来共有11个表,其中10个表是Django框架自带的,1个表是之前练习sql语句时创建的。现在我们执行迁移操作文件来生成数据表,这条命令我们其实已经很熟悉了,生成命令如下:

python manage.py migrate

执行命令后,如下图所示。

然后,我们刷新数据库,来观察数据库中所生成的数据表,观察表名称和表结构。我们发现在数据库中生成的表的名称结构为:应用程序名称_模型名称,而且都是小写。在本案例中,应用程序名称为ljyapp,模型名称为LjyUser,组合起来之后的数据表的名称用小写表示为ljyapp_ljyuser,其数据表的字段名称和我们模型中的属性名称完全一致,数据类型userID和age数值类型的用integer来表示,username、password、truename、sex、age这些字段使用可变长度字符型varchar来表示,所有的字段默认都是不能为空的,如下图所示。

到这里,读者根据如上操作已经能够掌握将一个数据类模型生成到数据库中,以及查看sql语句的相关生成命令等知识。

下期老刘即将为大家介绍数据的录入,用户注册页开发。通过刘金玉编程的教程,你会发现Django框架开发数据库变得越来越简单!加油哦!

刘金玉编程,感谢您的支持!

【刘金玉编程Django框架教程Python课程实战系列书籍目录】

联系作者:刘金玉

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OxKvE3a-uHvLrMJ4_dbFWwjg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券