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 16 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
python中的 zip函数详解及用法举例
Feb 16 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
详解Python3中的 input() 函数
Mar 18 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
详解python中groupby函数通俗易懂
May 14 Python
Django serializer优化类视图的实现示例
Jul 16 Python
django使用graphql的实例
Sep 02 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 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
文件上传的实现
2006/10/09 PHP
使用TinyButStrong模板引擎来做WEB开发
2007/03/16 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
php建立Ftp连接的方法
2015/03/07 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
网络教育毕业生自我鉴定
2013/10/10 职场文书
自荐信写法介绍
2014/01/25 职场文书
九年级物理教学反思
2014/01/29 职场文书
2014年党课学习材料
2014/05/11 职场文书
普通党员对照检查材料
2014/08/28 职场文书
客户答谢会活动方案
2014/08/31 职场文书
2019个人工作总结
2019/06/21 职场文书