django中ORM的model对象和querryset 简单解析
欢迎大家查看我的博客,我会不定时的用大白话发一些看了就能懂的文章,大家多多支持!如您对此文章内容有独特见解,欢迎与笔者练习一起探讨学习!原创文创!转载请注明出处!
ORM是干嘛的?
介绍orm之前我应该先说一下MVC,MVC简单的说就是一个web框架,那什么是框架?是不是人家给你一个写好的代码模板,你把你要处理的业务逻辑数据直接往里面套用就行了,那是不是可以节省很多的时间啊,django就是基于mvc写的,但是django要比这个强大.
那我再说下orm,平时咱们操作数据库像mysql'怎么操作啊,就是拿mysql举个例子,是有一些图形化软件,鼠标点点的很方便,但是没这些软件,你是不是要在终端里面一条一条敲命令,那你要是在框架里面处理一些复杂的逻辑呢?是不是自己处理起来都蒙圈啊,那是不是处理起来不太方便啊,多以就有了orm了帮你处理你不愿意做的事!
说一下从数据库取出来的querryset和model对象?
` 在这懵逼,我那个时候也是在这懵逼了,后来看了看资料,我擦,豁然开朗!!经验分享给你们,!
先说一下我用mysql演示,随便建两个表格,最好两个表格有点关联!就是外键!这样才能表现的更明显!!
直接上演示原图和解说
下面是我的表格 然后 查询2b的电话,是两个表格!一个是简单的信息,一个是详细信息,这个都不重要,你想怎么建立都行!
你看看图片,那个第一个使用filter取出来的是不是一个querryset 结构你看像什么?又是字典又是键值对的 后面咱们在细说继续看,在加一个first()方法呢,是不是就变成了model对象了,这就是区别!
也就是说我们存在数据库中的数据类型是不变的,int float data str 等等 那这两个数据类型就是orm搞出来的,为了啥?就是为了处理数据方便! 你细细想一想就懂了!
model对象就是一个对象,加.方法就可以调用相关属性! 而querryset 是一种数据结构,你就这么看,什么切片 取值什么的 都可以做,那些方法我就不介绍了!
今天有点晚了 就写到这,希望对你们有帮助!
django中ORM的model对象和querryset 简单解析的更多相关文章
- Django中ORM介绍和字段及其参数
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...
- Django中ORM的使用
Django中ORM的使用 ORM orm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表: 类 --> 表, 对象-->一行数据 对象的属性 ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
- Django中ORM实际应用
1. Django中ORM的使用 1. 手动新建一个数据库 2. 告诉Django连接哪个数据库 settings.py里面配置数据库连接信息: # 数据库相关的配置项 DATABASES = { ' ...
- Django 中ORM 的使用
一:Django 中 orm 的使用 1:手动新建一个数据库 2 :告诉Django连接哪个数据库 settings.py里配置数据库连接信息: #数据库相关的配置项 DATABASES ={ 'de ...
- Django中ORM的聚合索引
Django中ORM的聚合索引 在Django中,聚合函数是通过aggregate方法实现的,aggregate方法返回的结果是一个字典 在使用时需要先导入模块from django.db.mod ...
- Django中ORM创建表关系
一:django中ORM创建表关系 ORM创建外键关系 1.表与表之间的关系 1.表与表之间的关系 一对多 一对一 多对多 2.操作目标条件: 图书表 出版社表 作者表 作者详情表 3.外键关联 一对 ...
- Django中ORM对数据库的增删改查
Django中ORM对数据库数据的增删改查 模板语言 {% for line in press %} {% line.name %} {% endfor %} {% if 条件 %}{% else % ...
随机推荐
- coci2018 题解
plahte 给定一些矩形和一些有颜色的点,求每个矩形上有多少种颜色的点,保证矩形只有包含和不相交两种关系,规模 \(10^5\). 把每个矩形看成一个点,用扫描线建出森林,同时也顺便处理点. 然后做 ...
- 【canvas】基础练习三 图片
[canvas]Demo1 drawImage drawImage(img,x,y); <!DOCTYPE html> <html lang="en"> & ...
- python中的基本数据类型之字典
一.字典的简单介绍 字典是(dict)是python中惟一的一个映射类型,他是以{}括起来的键值对组成,在字典中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value保 ...
- Spring与IoC
控制反转(IOC,Inversion of Control),是一个概念,是一种思想. 指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理.控制反转就是对对象控制权的转移 ...
- Tido c++线段树知识讲解(转载)
线段树知识讲解 定义.建树.单点修改.区间查询 特别声明:如上的讲解说的是区间最大值 如果想要查询区间和 只需要改变一下建树和查询的代码就行了,如下 其他根据自己的需要进行修改即可
- 从无到有构建vue实战项目(一)
vue的安装 首先下载nodehttp://nodejs.cn/download/ 有两种安装方式安装包安装和二进制文件安装 输入以下命令,出现版本提示表示安装成功: node -v 10.15.3 ...
- 02_javaSE面试题:单例设计模式
还记得很多年前,面试就让在白板上写个单例模式,当时技术渣渣,还写的是class A.面试官还说,你就不能写个Singleton. 面试题 编程题:写一个Singleton示例 解析 什么是Single ...
- Java NIO学习系列三:Selector
前面的两篇文章中总结了Java NIO中的两大基础组件Buffer和Channel的相关知识点,在NIO中都是通过Channel和Buffer的协作来读写数据的,在这个基础上通过selector来协调 ...
- HDU 6058:Kanade's sum(思维)
题目链接 题意 给出一个n和一个k,求1~n的每个区间的第k大的总和是多少,区间长度小于k的话,贡献为0. 思路 首先有一个关系:当一个数是第k大的时候,前面有x个比它大的数,那么后面就有k-x-1个 ...
- Html自动播放音乐代码
<audio id="bgmMusic" src="demo.mp3" autoplay="autoplay" loop=" ...