ad

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_4.5.2 将应用数据表迁移进数据库

网友投稿 133 2023-11-07

【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第4章,第5节,由陈刚、王洪军编著。

4.5.2 将应用数据表迁移进数据库

当编辑好上述文件之后,就可以将这个文件的变化反映到数据库中了。 ① 在 Windows 命令行里,进入 Manabe 的项目根目录,运行如下命令:

python manage.py makemigrations

这步,是将我们对于 Models 表设计的变化记入文件。

如果输入正确,则输出如下:

Migrations for 'appinput':

《Python+3自动化软件发布系统》Django 2实战_了解Python的更好方法_4.5.2 将应用数据表迁移进数据库

appinput\migrations

appinput\migrations\0001_initial.py

01_initial.py

-Create model App

② 然后,再运行如下命令,将数据表进行变更。

python manage.py migrate

这步,是真正地将变化更新到数据库,同时,会记录下此次更新的内容。 输出如下:

Operations to perform:

Apply all migrations:admin,appinput,auth,contenttypes,sessions Running migrations:

Applying appinput.0001_initial...OK

③ 更改 admin.py 文件,将此数据表注册进后台管理系统 。

将 appinput 下面的 admin.py 文件更新为如下内容:

https://github.com/aguncn/manabe/blob/master/manabe/appinput/admin.py这个 admin.py 中还有很多显示和过滤的语法,在这里就不深入展开了,有需要 时,会再讲解这个知识点。

④ 进入 Django 后台,进行数据库操作。

通过浏览器,进入 Django 后台管理网址 http://127.0.0.1:8000/admin/, 可以

看到如图4-16所示的数据表,数据表可以在后台进行管理、增删等。

4.5.3 生成模拟数据

当一个数据表建好之后,有如下方式为这个数据表增加数据:

●直接通过SQL 语句,在数据库提供的Client工具中增加。

● 通过Django 提供的管理后台增加数据。

●可以自己写前端网页,让用户自助增加。

● 通过 Django 的开发框架,直接运行命令脚本来快速生成模板数据。

最后一种方法在以后进行数据库测试时是相当有用的。在开发期间,数据表的 变更是比较频繁的。如果有了快速生成模拟数据的命令,就不用每次辛辛苦苦地增 加模拟数据,或是每次都备份还原了。

我们最终想实现的,是用户每次运行 python manage.py fake_data 命令,就可以 自动地清空以前的数据表的内容,并将所有模拟数据重新入库。fake_data 是自定义 命令参数,那么,自定义命令要如何实现呢?

我们都用过 Django的 manage.py 的命令,而manage.py 是在我们创建 Django 项目的时候就自动生成在根目录下的一个命令行工具,它可以执行一些简单的命令, 其功能是将 Django project放到 sys.path 目录中,同时设置 DJANGO_SETTINGS_

MODULE 环境变量为 Manabe 目录下的 settings.py 文件。

manage.py 代码如下:

https://github.com/aguncn/manabe/blob/master/manabe/manage.py在这里脚本会根据 execute_from_command_line() 方法中传入的命令来执行相 应的结果。也就是说可以自己去编写这个函数可以识别的命令,这样就可以很大程 度上去拓展 manage.py 的功能了。

那么该如何去写这样一个自定义的 Manage 命令呢?

首先,要在Apps 模块下建立名字为 management 的模块,这样 Django 才能自动 发现我们的命令,在新建立的 management 模块中就可以建立我们需要的命令了,当 然了,不是所有的py 文件系统都会识别为命令的,只有引用了 BaseCommand 才能 被正确识别,而且我们的命令类要继承于 BaseCommand 才可以。

下面,我们就来一起实现它吧。

① 进入 public 目录,新建一个 management 目录。

② 在 management 目录下,生成一个空白的__init__.py 文件及一个 commands 目录。

③ 在 public\management\commands 目录下,生成一个空白文件及一个 fake. data.py.

④ 编辑 fake_data.py, 内容如下:

https://github.com/aguncn/manabe/blob/master/manabe/public/management/commands/fake

data.PY

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:达人之路·《高效办公应用宝典公式·函数与VBA》_3.7 隐藏公式返回的错误值
下一篇:《Python学习笔记 从入门到实战》_更了解Python的途径之一_7.1 面向对象编程技术
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×