假装自己拥有一家小便利店,名叫——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】便利店管理系统之——创建数据库→定义数据库表→创建数据库表相关推荐

  1. 【超详细Django网站开发过程9】便利店管理系统之——管理员登录、注销功能

    管理系统当然要有管理员登录功能啦,怎么做呢? Lynjay的便利店管理系统,登录API如下: 1.请求消息: POST /api/mgr/signin HTTP/1.1 Content-Type: a ...

  2. 【超详细Django网站开发过程3】便利店管理系统之——该如何建立超级管理员账户去管理客户信息呢?

    便利店老板需要一个超级管理员权限对店内各种信息进行增删查改.以前我们或许还需要专门做一个后台管理界面进行信息交互,现在Django为我们提供了管理员网页来添加.修改.删除自己定义的 model 表数据 ...

  3. 【超详细Django网站开发过程4】便利店管理系统之——销售员如何获取顾客数据?即:读取数据库数据(浏览器请求数据——服务器返回数据)

    一个便利店要想运转顺利,肯定要有合理的管理与分配,我们店里的销售人员,也应该成为管理员,拥有一个利用浏览器向服务端访问数据的权限,这篇文章带大家走一个销售员读取数据库客户数据的流程.学会了读取数据库, ...

  4. 【超详细Django网站开发过程7】便利店管理系统之——利用管理员用户对客户数据进行增删查改

    提到数据库,就免不了对信息的增删查改,今天来做一个管理员用户对顾客数据的增删查改功能. 导航 1.增删查改中的--"查"操作如下: 2.增删查改中的--"增"操 ...

  5. url获取网站信息不包含网页源文件内的标签_超详细的网站内部seo优化教程

    很多人把seo分为站内和站外,也有人把seo分为搜索需求覆盖,收录,排序,展现和数据分析,结果是一样的,看待seo的角度有所不同.网站内部即站内seo优化教程主要从站内讲解如何做seo.另外,一篇文章 ...

  6. 一份超详细的网站推广优化方案

    此时的你不管是在做生意还是做SEO还是在创业前期都会有一个计划书,对于我们做SEO的人员来说也就相当于是一份网站推广优化方案,一份详细的网站推广优化方案书对企业来说是很重要的,直接影响到公司的一个业务 ...

  7. 一份超详细的网站推广优化方案 1

    此时的你不管是在做生意还是做SEO还是在创业前期都会有一个计划书,对于我们做SEO的人员来说也就相当于是一份网站推广优化方案,一份详细的网站推广优化方案书对企业来说是很重要的,直接影响到公司的一个业务 ...

  8. uniapp - 超详细 H5 网站接入国家 “天地图“ 完整流程,提供显示地图、IP 属地定位 / 用户定位的城市名称、用户定位的经纬度等超多功能(可复制运行示例代码,详细注释及常见问题)

    前言 如果您需要 vue / nuxt 版本,请访问 这篇文章. 关于天地图的配置及使用教程的文章几乎没有,本文站在小白的角度从 0-1 进行配置和使用. 本文实现了 uniapp H5 网页项目,详 ...

  9. vue - 【超详细】网站接入使用支付宝支付功能,点击支付跳转新页面后生成订单及支付二维码,实现支付宝在线付款详细的教程(整个支付的完整配置及支付流程,一键复制源码开箱即用)!

    效果图 在vue网站网页项目中,实现跳转新页面生成订单,进行 "支付宝" 支付详细教程,包括详细的配置及示例完整源代码, 你可以直接复制示例的完整源码(保证可用),改个参数就能用了 ...

最新文章

  1. 2022-2028年中国钢铁智能制造产业竞争现状及发展趋势分析报告
  2. java mybatis狂神说sql_帮你搞定Java面试,不要再错过了
  3. Linux_Command
  4. leetcode 344. 反转字符串 541. 反转字符串 II 双指针解
  5. C++ concurrency::task实现异步编程(Windows)
  6. html模态窗口调试,在模态窗口中显示HTML标记
  7. 手绘线条图画机器人_怎么把照片转换成手绘图画?怎么加水印?
  8. fgetcsv php,PHP - fgetcsv - 分隔符被忽略?
  9. 2012.4.19总结(一)
  10. fspecial,imfilter
  11. OsgEarth下实现雷达波束扫描飞机动画
  12. HashMap面试灵魂几问
  13. SolidWorks频繁闪退,可能是(百度)输入法引起的
  14. 国标GB28181视频流媒体平台4G摄像头无插件直播平台EasyGBS出现实时视频点播错误问题解析
  15. 词法分析☞DFA语言识别
  16. 机器学习从入门到创业手记-1.4 难以理解的数学知识
  17. 汽车Vin码识别/手机端扫描识别汽车车架号SDK
  18. Web性能测试自动化方案
  19. DMOZ重新接受登录申请(转)
  20. 设计模式 ----- 设计模式总结

热门文章

  1. Elasticsearch 集群压力测试
  2. C语言malloc申请空间函数的两种返回方法
  3. 手动制作U盘启动盘(确保纯净的win系统)
  4. 代码 - 多张图片合并成PDF(每页宽高即是当前页面图片的宽高)- itextpdf
  5. fio -enghelp中没有rbd、rados引擎解决方法
  6. epic平台怎么改中文?
  7. 433M无限遥控发射与接收
  8. MFAN通用企业网站后台管理系统源码模板
  9. SMC 常规型压力传感器/开关(真空/正压)使用说明书 Z/ISE30A
  10. 第二章 3. 同态与同构,直积群