Django中ORM的基本使用教程


Posted in Python onDecember 22, 2020

前言

Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架

到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞:

  • 创建数据库,设计表结构和字段
  • 使用 MySQLdb 来连接数据库,并编写数据访问层代码
  • 业务逻辑层去调用数据访问层执行数据库操作

ORM

orm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表:

类 --> 表,

对象-->一行数据

对象的属性-->一行属性的一个字段

比如说一个用户信息表:

class User:
 def __init__(self,name,age):
  self.name = name
  self.age = age

这样我们就定义了一个类,有name和age属性,之后我们每创建一个对象都有一个自己的name和age值,就好比我们创建了一个表格,有name和age字段,每一行数据都有自己的name和age。

那么我们怎么在Django中应用呢,首先,Django使用了MVT模型,即:模型、视图、模板,相较于MVC(模型-视图-控制器)而言,其中MVT中的T(templates)和MVC中的V(views)都表示一种可以看得见的一种数据渲染图,而MVT(views)和MVC中的C(controls)都表示一种逻辑,即当浏览器请求的时候服务器该怎么返回数据,最后,MVT中的M(models)和MVC中的M(models)都表示数据存储部分,即数据库。

于是,如果我们需要创建表格就要创建类,就要在modles.py中创建,如下:

from django.db import models

# Create your models here.


class User(models.Model):
 username = models.CharField(max_length=32)
 password = models.CharField(max_length=32)

其中CharFiled相当于数据库中的varchar,与之对应的还要Decimal、Datatime等等。

接下来就是我们要把数据存储在哪个数据库了,好在Django自己生成了一个 db.sqlite3 文件,那么接下来我们就要去setting.py文件中去配置数据库,如下:

Django中ORM的基本使用教程

然后就需要打开我们的sqlite数据库文件看看了,这里,我们如果使用pycharm,可以按如下操作:

点击侧边那里

Django中ORM的基本使用教程

选择类型

Django中ORM的基本使用教程

点击图标

Django中ORM的基本使用教程

找到sqlite3文件然后应用。

Django中ORM的基本使用教程

此时发现:

Django中ORM的基本使用教程

中并没有user表,这时,我们需要再执行两条终端命令:

打开终端

Django中ORM的基本使用教程

第一条命令: python manage.py makemigration
第二条命令: python manage.py migrate

然后刷新:

Django中ORM的基本使用教程

就可以看到表格了,双击就可以进行编辑啦!!!

到此这篇关于Django中ORM基本使用的文章就介绍到这了,更多相关Django中ORM使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python魔术方法详解
Feb 14 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 Python
解决Mac安装scrapy失败的问题
Jun 13 Python
python os.path模块常用方法实例详解
Sep 16 Python
python3人脸识别的两种方法
Apr 25 Python
Python人脸识别第三方库face_recognition接口说明文档
May 03 Python
python获取点击的坐标画图形的方法
Jul 09 Python
Python eval函数原理及用法解析
Nov 14 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
python pygame入门教程
Jun 01 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 #Python
Python 多进程原理及实现
Dec 21 #Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 #Python
python 用pandas实现数据透视表功能
Dec 21 #Python
python 生成正态分布数据,并绘图和解析
Dec 21 #Python
python statsmodel的使用
Dec 21 #Python
Python 实现集合Set的示例
Dec 21 #Python
You might like
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
Javascript 入门基础学习
2010/03/10 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
浅谈python3中input输入的使用
2019/08/02 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
二手房购房意向书范本
2014/04/01 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
三八妇女节标语
2014/10/09 职场文书
元旦主持词开场白
2015/05/29 职场文书
小学入学感言
2015/08/01 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
用javascript制作qq注册动态页面
2021/04/14 Javascript
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python