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中操作字符串之startswith()方法的使用
May 20 Python
python比较两个列表大小的方法
Jul 11 Python
浅谈function(函数)中的动态参数
Apr 30 Python
Python调用系统底层API播放wav文件的方法
Aug 11 Python
Python类的继承和多态代码详解
Dec 27 Python
python实现自动登录
Sep 17 Python
15行Python代码实现网易云热门歌单实例教程
Mar 10 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
python实现函数极小值
Jul 10 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
Python 一键获取电脑浏览器的账号密码
May 11 Python
Python使用BeautifulSoup4修改网页内容
May 20 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中实现进程间通讯
2006/10/09 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php读取excel文件的简单实例
2013/08/26 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
JavaScript中URL编码函数代码
2011/01/11 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
python的scipy实现插值的示例代码
2019/11/12 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
银行自荐信范文
2013/10/07 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
后勤个人工作总结
2015/02/28 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
党员转正意见怎么写
2015/06/03 职场文书
盲山观后感
2015/06/11 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
如何撰写创业策划书
2019/06/27 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP