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 matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Python基于列表list实现的CRUD操作功能示例
Jan 05 Python
python 3.7.0 下pillow安装方法
Aug 27 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
Python Print实现在输出中插入变量的例子
Dec 25 Python
解决pycharm下pyuic工具使用的问题
Apr 08 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
Django Auth用户认证组件实现代码
Oct 13 Python
Python Pandas数据分析工具用法实例
Nov 05 Python
python 模拟在天空中放风筝的示例代码
Apr 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
php随机抽奖实例分析
2015/03/04 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
在Django的URLconf中使用命名组的方法
2015/07/18 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
Python检查ping终端的方法
2019/01/26 Python
Python3多线程基础知识点
2019/02/19 Python
Python常用特殊方法实例总结
2019/03/22 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
采购主管岗位职责
2014/02/01 职场文书
节水倡议书
2015/01/19 职场文书
JavaScript分页组件使用方法详解
2021/07/26 Javascript
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android