假装自己拥有一家小便利店,名叫——7-Twelve,我希望制作一个便利店管理系统对我的顾客、销售人员、货物等数据进行管理,先不管前端,后端总免不了对数据的一顿操作,那如何在Django中对数据库进行增删查改呢?首先要学会→创建数据库→定义数据库表→创建数据库表。
一、创建数据库
1、创建Mystore项目之初,我们采用了代码进行创建,这个时候,系统会自动帮我创建出db.sqlite3。
2、cd到Mystore根据路下,运行:python manage.py migrate,系统将自动生成一些表。
3、下载sqlite工具——sqlitestudio,查看可视化数据库:https://github.com/pawelsalawa/sqlitestudio/releases
4、在sqlitestudio中打开db.sqlite3文件:
二、定义数据库表(models.py)
数据库表的操作包括表的定义、表中数据的增删改查,这些都通过Django 里面的Model 类型的对象进行。
1、在Mystore项目根目录下新创建一个公用数据库(app),即管理员、销售员等都可以访问的数据库。
F:\STORE\Mystore>python manage.py startapp common
2、定义数据库:在common的models.py里定义数据库,在其中创建各种表,例如:定义客户信息表
Django 有很多字段对象类型, 对应不同的类型的数据库字段
详情查看官网:https://docs.djangoproject.com/en/2.0/ref/models/fields/#model-field-types
这样,我们就在models.py中将表定义好了。接下来要做的,就是在数据库中创建这个客户信息表。
三、创建数据库表
表单定义好了,就应该告诉Django,客户信息表单准备好了,开始创建。
1、在Mystore的一系列配置文件里,打开settings.py,找到INSTALLED_APPS[]添加一行’common.apps.CommonConfig’, 代码,意思就是settings.py文件告诉Django,在common文件夹的apps.py文件中,有一个common应用的配置类。
2、打开common,可以看到配置文件apps.py,意思就是告诉了Django存在common这个app,搞快点去common旗下的models.py里去看看,数据有没有更新。
其他的配置参数, 大家可以参考官方文档: https://docs.djangoproject.com/en/dev/ref/applications/#configurable-attributes
3、现在Django已经知道了有更新,我们就可以在Mystore根目录下执行命令:python manage.py makemigrations common
程序就会自动查询是否有更新表单,所以,只要model定义有变动,就执行:python manage.py makemigrations common,并且在migrations里可以看到此次变动对表做了哪些改变。
4、看到Django打算对数据库表进行的操作之后,执行:python manage.py migrate,则能够真正地改变数据库中表的内容。
打开sqlitestudio工具,刷新看变化:果然新增了客户信息。
四、补充:如果想给顾客信息新增会员属性,则在models里面定义新增内容→python manage.py makemigrations common→python manage.py migrate
添加属性成功,和客户信息表一样,我们也可以新建很多其他表,如:货物表,销售人员的员工绩效考核表等。只要数据库设计得好,我们就可以“为所欲为”。