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逆向入门教程
Jan 15 Python
python样条插值的实现代码
Dec 17 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
Python button选取本地图片并显示的实例
Jun 13 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
Jul 26 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
JupyterNotebook设置Python环境的方法步骤
Dec 03 Python
Python如何根据时间序列数据作图
May 12 Python
python中return如何写
Jun 18 Python
用python获取txt文件中关键字的数量
Dec 24 Python
matplotlib grid()设置网格线外观的实现
Feb 22 Python
Python3 多线程(连接池)操作MySQL插入数据
Jun 09 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 cache类代码(php数据缓存类)
2010/04/15 PHP
phalcon框架使用指南
2016/02/23 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
PHP 裁剪图片
2021/03/09 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
JavaScript类库D
2010/10/24 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
高考自主招生自荐信
2013/10/20 职场文书
银行批评与自我批评
2014/02/10 职场文书
党组织公开承诺书
2014/03/29 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android