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基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 Python
python 3.5下xadmin的使用及修复源码bug
May 10 Python
Python实现一个简单的验证码程序
Nov 03 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
python smtplib模块实现发送邮件带附件sendmail
May 22 Python
python将一组数分成每3个一组的实例
Nov 14 Python
Python配置虚拟环境图文步骤
May 20 Python
python 字段拆分详解
Dec 17 Python
python计算波峰波谷值的方法(极值点)
Feb 18 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 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
Access数据库导入Mysql的方法之一
2006/10/09 PHP
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
php生成图片验证码
2015/06/09 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
vuex的使用步骤
2021/01/06 Vue.js
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
wxPython中listbox用法实例详解
2015/06/01 Python
详解Python中的文件操作
2016/08/28 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
python3 shelve模块的详解
2017/07/08 Python
详解python里的命名规范
2018/07/16 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
本科毕业生的求职信范文
2013/11/20 职场文书
中国文明网签名寄语
2014/01/18 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
学校端午节活动方案
2014/08/23 职场文书
导游词之岳阳楼
2019/09/25 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
python编写五子棋游戏
2021/05/25 Python
HDFS免重启挂载新磁盘
2022/04/06 Servers