【超详细Django网站开发过程2】便利店管理系统之——创建数据库→定义数据库表→创建数据库表
假装自己拥有一家小便利店,名叫——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
添加属性成功,和客户信息表一样,我们也可以新建很多其他表,如:货物表,销售人员的员工绩效考核表等。只要数据库设计得好,我们就可以“为所欲为”。
【超详细Django网站开发过程2】便利店管理系统之——创建数据库→定义数据库表→创建数据库表相关推荐
- 【超详细Django网站开发过程9】便利店管理系统之——管理员登录、注销功能
管理系统当然要有管理员登录功能啦,怎么做呢? Lynjay的便利店管理系统,登录API如下: 1.请求消息: POST /api/mgr/signin HTTP/1.1 Content-Type: a ...
- 【超详细Django网站开发过程3】便利店管理系统之——该如何建立超级管理员账户去管理客户信息呢?
便利店老板需要一个超级管理员权限对店内各种信息进行增删查改.以前我们或许还需要专门做一个后台管理界面进行信息交互,现在Django为我们提供了管理员网页来添加.修改.删除自己定义的 model 表数据 ...
- 【超详细Django网站开发过程4】便利店管理系统之——销售员如何获取顾客数据?即:读取数据库数据(浏览器请求数据——服务器返回数据)
一个便利店要想运转顺利,肯定要有合理的管理与分配,我们店里的销售人员,也应该成为管理员,拥有一个利用浏览器向服务端访问数据的权限,这篇文章带大家走一个销售员读取数据库客户数据的流程.学会了读取数据库, ...
- 【超详细Django网站开发过程7】便利店管理系统之——利用管理员用户对客户数据进行增删查改
提到数据库,就免不了对信息的增删查改,今天来做一个管理员用户对顾客数据的增删查改功能. 导航 1.增删查改中的--"查"操作如下: 2.增删查改中的--"增"操 ...
- url获取网站信息不包含网页源文件内的标签_超详细的网站内部seo优化教程
很多人把seo分为站内和站外,也有人把seo分为搜索需求覆盖,收录,排序,展现和数据分析,结果是一样的,看待seo的角度有所不同.网站内部即站内seo优化教程主要从站内讲解如何做seo.另外,一篇文章 ...
- 一份超详细的网站推广优化方案
此时的你不管是在做生意还是做SEO还是在创业前期都会有一个计划书,对于我们做SEO的人员来说也就相当于是一份网站推广优化方案,一份详细的网站推广优化方案书对企业来说是很重要的,直接影响到公司的一个业务 ...
- 一份超详细的网站推广优化方案 1
此时的你不管是在做生意还是做SEO还是在创业前期都会有一个计划书,对于我们做SEO的人员来说也就相当于是一份网站推广优化方案,一份详细的网站推广优化方案书对企业来说是很重要的,直接影响到公司的一个业务 ...
- uniapp - 超详细 H5 网站接入国家 “天地图“ 完整流程,提供显示地图、IP 属地定位 / 用户定位的城市名称、用户定位的经纬度等超多功能(可复制运行示例代码,详细注释及常见问题)
前言 如果您需要 vue / nuxt 版本,请访问 这篇文章. 关于天地图的配置及使用教程的文章几乎没有,本文站在小白的角度从 0-1 进行配置和使用. 本文实现了 uniapp H5 网页项目,详 ...
- vue - 【超详细】网站接入使用支付宝支付功能,点击支付跳转新页面后生成订单及支付二维码,实现支付宝在线付款详细的教程(整个支付的完整配置及支付流程,一键复制源码开箱即用)!
效果图 在vue网站网页项目中,实现跳转新页面生成订单,进行 "支付宝" 支付详细教程,包括详细的配置及示例完整源代码, 你可以直接复制示例的完整源码(保证可用),改个参数就能用了 ...
最新文章
- 2022-2028年中国钢铁智能制造产业竞争现状及发展趋势分析报告
- java mybatis狂神说sql_帮你搞定Java面试,不要再错过了
- Linux_Command
- leetcode 344. 反转字符串 541. 反转字符串 II 双指针解
- C++ concurrency::task实现异步编程(Windows)
- html模态窗口调试,在模态窗口中显示HTML标记
- 手绘线条图画机器人_怎么把照片转换成手绘图画?怎么加水印?
- fgetcsv php,PHP - fgetcsv - 分隔符被忽略?
- 2012.4.19总结(一)
- fspecial,imfilter
- OsgEarth下实现雷达波束扫描飞机动画
- HashMap面试灵魂几问
- SolidWorks频繁闪退,可能是(百度)输入法引起的
- 国标GB28181视频流媒体平台4G摄像头无插件直播平台EasyGBS出现实时视频点播错误问题解析
- 词法分析☞DFA语言识别
- 机器学习从入门到创业手记-1.4 难以理解的数学知识
- 汽车Vin码识别/手机端扫描识别汽车车架号SDK
- Web性能测试自动化方案
- DMOZ重新接受登录申请(转)
- 设计模式 ----- 设计模式总结