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在线运行代码助手
Jul 15 Python
Python编程实现蚁群算法详解
Nov 13 Python
python3实现名片管理系统
Nov 29 Python
Python3对称加密算法AES、DES3实例详解
Dec 06 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
Python数据存储之 h5py详解
Dec 26 Python
python实现最速下降法
Mar 24 Python
keras K.function获取某层的输出操作
Jun 29 Python
Pycharm安装python库的方法
Nov 24 Python
python爬取新闻门户网站的示例
Apr 25 Python
Python基础之元类详解
Apr 29 Python
anaconda python3.8安装后降级
Jun 11 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格式数据的实现代码
2011/12/24 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
JavaScript delete操作符应用实例
2009/01/13 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python实现超市扫码仪计费
2018/05/30 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Python实现多进程的四种方式
2019/02/22 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
python爬取youtube视频的示例代码
2021/03/03 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
小班下学期评语
2014/05/04 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
财务总监岗位职责
2015/02/03 职场文书
大学生心理健康活动总结
2015/05/08 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP