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 27 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
Python交互环境下实现输入代码
Jun 22 Python
python3编写ThinkPHP命令执行Getshell的方法
Feb 26 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
Python configparser模块配置文件过程解析
Mar 03 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
通过实例解析python创建进程常用方法
Jun 19 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
进行数据处理的6个 Python 代码块分享
Apr 06 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
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
分享20款好玩的jQuery游戏
2011/04/17 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
经济与贸易专业应届生求职信
2013/11/19 职场文书
给客户的道歉信
2014/01/13 职场文书
社区食品安全实施方案
2014/03/28 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
2019入党申请书格式
2019/06/25 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python