Web框架开发-Django模型层(数据库操作)

一、ORM介绍

  • MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动
  • ORM是“对象-关系-映射”的简称。

映射关系:

表名 --------------------》类名

  字段--------------------》属性

  表记录-----------------》类实例化对象

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

#sql中的表                                                     

 #创建表:

     CREATE TABLE employee(                                    

                id INT PRIMARY KEY auto_increment ,                   

                name VARCHAR (20),                                     

                gender BIT default 1,                                 

                birthday DATA ,                                        

                department VARCHAR (20),                               

                salary DECIMAL (8,2) unsigned,                         

              );

  #sql中的表纪录                                                 

  #添加一条表纪录:                                                         

      INSERT employee (name,gender,birthday,salary,department)           

             VALUES   ("alex",1,"1985-12-12",8000,"保洁部");              

  #查询一条表纪录:                                                          

      SELECT * FROM employee WHERE age=24;                              

  #更新一条表纪录:                                                          

      UPDATE employee SET birthday="1989-10-24" WHERE id=1;             

  #删除一条表纪录:                                                         

      DELETE FROM employee WHERE name="alex"                            

#python的类

class Employee(models.Model):

     id=models.AutoField(primary_key=True)

     name=models.CharField(max_length=32)

     gender=models.BooleanField()

     birthday=models.DateField()

     department=models.CharField(max_length=32)

     salary=models.DecimalField(max_digits=8,decimal_places=2)

 #python的类对象

      #添加一条表纪录:

          emp=Employee(name="alex",gender=True,birthday="1985-12-12",epartment="保洁部")

          emp.save()

      #查询一条表纪录:

          Employee.objects.filter(age=24)

      #更新一条表纪录:

          Employee.objects.filter(id=1).update(birthday="1989-10-24")

      #删除一条表纪录:

          Employee.objects.filter(name="alex").delete()

  

ORM的两大功能:

  操作表:

    - 创建表

    - 修改表

    - 删除表

  操作数据行:

    - 增删改查

ORM利用pymysql第三方工具链接数据库

Django没办法帮我们创建数据库,只能我们创建完之后告诉它,让django去链接

二、创建表之前的准备工作

1、自己创建数据库

2、在setting里面配置mysql数据库链接

  sqlite3----------改为mysql

1

2

3

4

5

6

7

8

9

10

11

# 修改django默认的数据库的sqlite3为mysql

DATABASES = {

    'default': {

            'ENGINE': 'django.db.backends

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/474073.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu20.04安装Pycharm

下载pycharm安装包 https://www.jetbrains.com/pycharm/download/#sectionlinux 使用社区版点击download 下载好的pycharm如图所示,右键解压: 打开终端,输入cd命令,进入刚刚解压文件夹下的bin文件夹,命令行是cd 文…

手撕算法-二叉搜索树与双向链表

牛客BM30。 描述:https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId295&tqId23253&ru/exam/oj&qru/ta/format-top101/question-ranking&sourceUrl%2Fexam%2Foj分析:二叉搜索树的中序遍历是递增序列。可以利用…

【AI工具】文字/图片生产3D模型-MVEdit 3D Toolbox

MVEdit 是一款无需培训的 3D 适配器,可 使用现成的 2D 稳定扩散模型进行 3D 生成/编辑 定位:一款功能强大的 3D 工具箱,可通过文本和图像创建和生成 3D 模型,具有可视化 UI 操作。 功能介绍: 能够从多视角图像生成高质量纹理网格,通过 3D 适配器实现出色的 3D 一致性。…

JAVA每日面经——并发编程(一)必看

👩🏽‍💻个人主页:阿木木AEcru 🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》 💹每一次技术突破,都是对自我能力的挑战和超越。 目录 一、并发编程之AQS二、并发编程之CAS…

广东省30m二级分类土地利用数据(矢量)

广东省,地处中国大陆最南部,属于东亚季风区,从北向南分别为中亚热带、南亚热带和热带气候,是中国光、热和水资源最丰富的地区之一。主要河系为珠江的西江、东江、北江和三角洲水系以及韩江水系。广东省面积为17.977万平方公里&…

【python + Django】Django模板语法 + 请求和响应

前言: 现在现在,我们要开始将变量的值展现在页面上面啦! 要是只会显示静态页面,我们的页面也太难看和死板了, 并且数据库的数据也没法展现在页面上。 但是呢,模板语法学习之后就可以啦!&…

Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动)

Halcon 3D 平面拟合(区域采样、Z值过滤、平面拟合、平面移动) 链接:https://pan.baidu.com/s/1UfFyZ6y-EFq9jy0T_DTJGA 提取码:ewdi * 1.读取图片 ****************

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(二)—— 深度神经网络

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 概述 深度神经网络(Deep Neural Network&…

24北京教资认定明日开始,请提前准备证件照

24北京教资认定明日开始,请提前准备证件照哦!

KEY ENERGY欧洲意大利能源光伏储能展

3月1号第18届意大利里米尼国际可再生能源展(KEY ENERGY)由知名主办方ITALIAN EXHIBITION GROUP S.P.A组织举办,每年一届,是欧洲第二大能源展,也是覆盖范围最全知名度最高的可再生能源展览会。 该展会将于2024扩大规模…

EL表达式

一、什么是EL EL(Expression Language)表达式语言 由两个开发团队共同开发 JSP 标准标签库专家组 JSP 2.0 专家组 EL表达式语言的语法 ${Expression} JSP EL 表达式用于以下情形 在JSP页面中输出静态内容 为标准标签和自定义标签提供属性值 二、作用&am…

排序算法之选择排序介绍

目录 算法简介 算法描述 代码实现 算法简介 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素…

解析服务器出现大量 TIME_WAIT 和 CLOSE_WAIT 状态的原因及排查方法

服务器出现大量 TIME_WAIT 状态的原因有哪些? 首先要知道 TIME_WAIT 状态是主动关闭连接方才会出现的状态(别陷入一个误区不是只有客户端才能主动关闭连接的),所以如果服务器出现大量的 TIME_WAIT 状态的 TCP 连接,就是…

MongoDB系列之查询计划

概述 一个查询具体如何被执行的过程,称为查询计划。MongoDB采用自底向上的方式来构造查询计划,每一个查询计划(query plan)都会被分解为若干个有层次的阶段(stage)。整个查询计划最终会呈现出一颗多叉树。…

3个Tips,用“AI”开启新生活

相信最近,很多朋友们都回归到了忙碌的生活节奏中。生活模式的切换,或多或少会带来身体或情绪状况的起伏。新技术正在为人们生活的方方面面带来便利。3个小Tips或许能让你也从新技术中获益,从身到心,用“AI”开启新生活。 关”A…

【机器学习】基于正余弦搜索算法优化的BP神经网络分类预测(SCA-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】正余弦优化算法(SCA)原理及实现 2.设计与实现 数据集: 多输入多输出:样本特征24,标签类…

基于深度学习的面部情绪识别算法仿真与分析

声明:以下内容均属于本人本科论文内容,禁止盗用,否则将追究相关责任 基于深度学习的面部情绪识别算法仿真与分析 摘要结果分析1、本次设计通过网络爬虫技术获取了七种面部情绪图片:吃惊、恐惧、厌恶、高兴、伤心、愤怒、自然各若…

Python Qt Designer 初探

代码下载在最下面 #开发环境安装# 本示例在Windows11下, 使用VSCode开发, Python 3.12.2, Qt Designer 5.11 VSCode插件Python、Python Debugger、PYQT Integration、Pylance (准备) VSCode自行官网下载 Visual Studio Code - Code Editing. Redefined (准备) Python 直接…

腾讯和香港中文大学发布文字生成视频AI模型DynamiCrafter

前言 在数字化时代,视觉内容的创造和动态化已成为创意表达和信息传递的重要工具。最近由香港中文大学、腾讯AI Lab联合研发的视频AI模型DynamiCrafter,这一模型能够将静态图像转化为逼真的动态视频,开创了文本到视频生成技术的新纪元。 Hugg…

matlab 将矩阵写入文件

目录 一、概述1、算法概述2、主要函数二、将矩阵写入到文本文件三、将矩阵写入电子表格文件四、将矩阵写入指定的工作表和范围五、将数据追加到电子表格六、将矩阵数据追加到文本文件七、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此…