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如何使用AIML搭建聊天机器人
Jan 27 Python
简单学习Python time模块
Apr 29 Python
Python中 Lambda表达式全面解析
Nov 28 Python
python2.7到3.x迁移指南
Feb 01 Python
python实现Decorator模式实例代码
Feb 09 Python
python list是否包含另一个list所有元素的实例
May 04 Python
Python语言快速上手学习方法
Dec 14 Python
Django restframework 源码分析之认证详解
Feb 22 Python
python对csv文件追加写入列的方法
Aug 01 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
Python classmethod装饰器原理及用法解析
Oct 17 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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
php 生成文字png图片的代码
2011/04/17 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
2020/02/11 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
wxpython 学习笔记 第一天
2009/02/09 Python
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
浅谈Python中函数的参数传递
2016/06/21 Python
Python SQLite3简介
2018/02/22 Python
python获取代理IP的实例分享
2018/05/07 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
九年级英语教学反思
2014/01/31 职场文书
装饰活动策划方案
2014/02/11 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
python中的random模块和相关函数详解
2022/04/22 Python
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python