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字符串处理实现单词反转
Jun 14 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
如何在Python 游戏中模拟引力
Mar 27 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
python如何进入交互模式
Jul 06 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 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使用json_encode对变量json编码
2014/04/07 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
Javascript中神奇的this
2016/01/20 Javascript
理解javascript对象继承
2016/04/17 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
vue中对象数组去重的实现
2020/02/06 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
Python的Django框架使用入门指引
2015/04/15 Python
python将文本转换成图片输出的方法
2015/04/28 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
简单分析python的类变量、实例变量
2019/08/23 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
如何用canvas实现在线签名的示例代码
2018/07/10 HTML / CSS
上海某公司.net方向笔试题
2014/09/14 面试题
Why we need EJB
2016/10/20 面试题
摄影实习自我鉴定
2013/09/20 职场文书
花卉与景观设计系大学生求职信
2013/10/01 职场文书
预备党员入党思想汇报
2014/01/04 职场文书
英语老师推荐信
2014/02/26 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
解决Redis启动警告问题
2022/02/24 Redis