前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django框架开发012期 Django框架开发Sqlite数据库,数据表的生成,命令行生成用户表

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

作者头像
刘金玉编程
发布2023-08-31 13:21:20
1840
发布2023-08-31 13:21:20
举报
文章被收录于专栏:编程创造城市编程创造城市
在第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脚本语句。命令的格式如下

代码语言:javascript
复制
python manage.py sqlmigrate 应用名称 迁移文件名称

现在来看本案例由用户模型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框架开发数据库变得越来越简单!加油哦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档