首页
学习
活动
专区
圈层
工具
发布

Django的ORM操作-查询数据

数据库的查询需要使用管理器对象进行 通过mymodel.objects管理器方法调用查询对象 方法 说明 all() 查询全部记录,返回QuerySet查询对象 get() 查询符合条件的单一记录 filter...Asset querys =Asset.objects.all() for i in querys: print("创建日期",i.create_date,"操作系统",i.system) #...打印结果 创建日期 2021-06-16 13:52:14+00:00 操作系统 Centos7 作用:查询Mymodel中所有的数据等同与数据库中的select * from table,返回QuerySet...-- 用法:Asset.objects.filter(属性1=值1,属性2=值2),当多个属性在一起为与关系 作用:返回包含此条件的全部数据集 返回值:QuerySet容器对象,内部存放模块实例 # 查询数据库中...:Asset.objects.exclude(条件) 作用:返回不包含此条件的数据集 # 查询数据库中 create_user为admin的并且系统为Linux以外的服务器信息 from monitor.models

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django学习-第八讲:django ORM数据库查询,修改等操作

    1.查询操作 查找是数据库操作中一个非常重要的技术。查询一般就是使用filter、exclude以及get三个方法来实现。我们可以在调用这些方法的时候传递不同的参数来实现查询需求。...在ORM层面,这些查询条件都是使用field+__+condition的方式来使用的。 1.1.查询条件 1 .exact 使用精确的=进行查找。...article = Article.objects.filter(title__iexact='hello world') 那么以上的查询就等价于以下的SQL语句: select * from article...而exact翻译成sql语句左右两边是没有百分号的,意味着使用的是精确的查询。 4.icontains 大小写不敏感的匹配查询。...articles) # 查找文章ID为1,2,3的文章分类 category = Category.objects.filter(article__id__in=[1,2,3]) 根据关联的表进行查询

    59830

    ORM初识和数据库操作

    2.ORM提供了对数据库的映射,不用sql直接编码,能够像操作对象一样从数据库获取数据。 为什么用ORM ORM是一种程序技术,用来实现面向对象编程语言里不同类型系统的数据之间的转换 。...从效果上说,它其实是创建了一个可在编程语言里使用的——“虚拟对象数据库” ORM的作用 ORM它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的...ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。 让软件开发人员专注于业务逻辑的处理,提高了开发效率。...操作表:     - 创建表     - 修改表     - 删除表 操作数据行:     - 增删改查 ORM利用pymysql第三方工具链接数据库 Django没办法帮我们创建数据库,...API,可以让你执行关于表记录的增删改查的操作。

    2.7K30

    数据库——查询操作

    可以说查询是数据库编程中最重要的一环,其用途是从一张表或多张表中检索出满足条件的数据信息 下面开始研究Select语句 Select 语句格式: Select [ALL DISTINCT] select_list..._1的表 Select * from 工龄_1 注: *表示查找表中的所有字段(列) 查询姓名列的所有数据(ALL) Select ALL 姓名 from 工龄_1 注意:当中有两个张三...查询结果没有重复的数据(DISTINCT) select distinct 姓名 from 工龄_1 WHERE子句 作用:指定条件过滤数据结果(行过滤) 举例: 查询新建的学生成绩表 select...select * from result_Info 查询“2000期中”(条件) 学科的平均分(按照语文,数学进行聚合) select course_Name,AVG (result) from...ASC 为升序 DESC 为降序 举例: 查询考试类型‘2000期中’,学科为语文的成绩 select * from result_Info where exam_No ='2000期中' and

    3.2K20

    laravel 模型Eloquent ORM 查询

    up前面玩了 DB 查询,但是laravel开发基本不怎么使用db方式查询,应该有更强大的 模型 Model 介绍 Laravel 的 Eloquent ORM 提供了一个漂亮、简洁的 ActiveRecord...每个数据库表都有一个对应的「模型」用来与该表交互。你可以通过模型查询数据表中的数据,以及在数据表中插入新记录。 在开始之前,请确保在 config/database.php 中配置数据库连接。...更多关于数据库配置的信息,请查看 文档。 模型 就是把数据库的表映射到模型类,用面向对象的方式来操作数据库,既然是面向对象自然就可以继承了可以方便的复用。...laravel 的 Model 使用先进的 Eloquent ORM 但也有优缺点 优点是数据库的操作变的简单安全 缺点也明显数据库的操作变的缓慢笨重 Eloquent ORM 作为 laravel 中亮点...像 get 里面这一长串方法一样,我们在查询数据的时候经常会有略微复杂的查询把它们写成一个模型方法 比如说在 app/Models/Test.php 文件中写一个 getList 方法 <?

    5K10

    Django 使用 ORM 操作数据库详解

    同样在操作数据库时,一般我们用SQL语句来实现操作,但是放在Python中是一串冗长的字符串,不利于调试和修改,更不符合上面提到的规范。...有了ORM,我们来看它与实际的数据库是怎么联系起来的: ?...: 专注业务逻辑开发,提升开发效率 易于更新维护,重用代码 会自动完成比如数据消毒,预处理,事务等功能 不用编写复杂的SQL语句 劣势: 牺牲执行效率,增加查询时间 无法操作底层数据库,...无法实现某些复杂操作 遗忘SQL语句编写 怎么选择原生SQL和ORM 对于复杂的SQL语句或数据库层面,推荐使用原始SQL 对于要处理复杂的业务逻辑,加快开发,推荐使用ORM ORM 相对 原始SQL在一般的业务中...Model API 基本查询 #!

    96420

    odoo ORM API学习总结兼orm学习教程

    如果不进行预取,循环将对数据库进行2000次查询。...模型层面的操作需要添加此修饰器,相当于类静态函数 @api.model def method(self, args): ... odoo.api.model_create_multi(method...这些修饰器是自动继承的:重写被修饰的现有方法的方法将被相同的@return(model)修饰 环境(Environment) Environment 存储ORM使用的各种上下文数据:数据库游标(用于数据库查询...SQL执行 环境上的cr属性是当前数据库事务的游标,允许直接执行SQL,无论是对于难以使用ORM表达的查询(例如复杂join),还是出于性能原因 self.env.cr.execute("some_sql...请确保在使用用户输入时对查询进行了清洗,如果确实不需要使用SQL查询,请使用ORM实用程序。

    14.9K10

    Django中ORM操作

    前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb...来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 Django orm的优势: Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django...,如果数据库迁移,只需要更换Django的数据库引擎即可; 一、Django连接MySQL 1、创建数据库 (注意设置 数据的字符编码) 由于Django自带的orm是data_first类型的ORM,...单表操作 0、orm操作前戏 orm使用方式: orm操作可以使用类实例化,obj.save的方式,也可以使用create()的形式 QuerySet数据类型介绍 QuerySet与惰性机制 所谓惰性机制...# query_set缓存机制1次数据库查询结果query_set都会对应一块缓存,再次使用该query_set时,不会发生新的SQL操作; #这样减小了频繁操作数据库给数据库带来的压力

    5.1K10

    Django ORM 多表操作

    目录 Django ORM 多表操作 表模型 表关系 创建模型 逆向到表模型 插入数据 ORM 添加数据(添加外键) 一对多(外键 ForeignKey) 一对一 (OneToOneFeild) 多对多...(ManyToManyField):在第三张关系表中新增数据 ORM 修改数据 ORM 删除和清空数据 跨表查询 基于对象的跨表查询 基于双下划线的跨表查询 聚合查询 示例 F查询 Q查询 Django...ORM 多表操作 表模型 图书表 出版社表 作者表 作者详情表 表关系 一对一:一对一推荐建在查询频率高的一方 一对多:外键字段建在多的一方 多对多:外键字段建在查询频率多的一方,在Django第三张表不需要创建...6、若有模型类存在外键,创建数据时,要先创建外键关联的模型类的数据,不然创建包含外键的模型类的数据时,外键的关联模型类的数据会找不到 逆向到表模型 插入数据 ps:插入几条数据方便操作 ORM...上面的操作类似子查询,将上一个查询结果当作该次查询的条件使用,那么现在演示的跨表操作,就类似sql连表操作(inner join···),是两种不同的查询方法 '''基于双下划线的跨表操作:连表操作

    2K20

    es数据库查询API「建议收藏」

    1.背景 ES数据库是非关系型数据库 2.ES数据库优点 1.存储优化 内存中使用有限状态机FST优化 本质上是前缀树加上后缀树的结合,利用这个数据结构可以把Term更节省内存地放置并查询,它有着字典树的查询时间复杂度...2.联合查询优化 若要对多个term做联合查询,比如做AND来查询,实际上便是联合各个term产生的跳表Skip-list做查询 Term Query中使用AND操作就是利用跳表来做联合查询。...,分片,主从备份机制,容灾能力 3.ES数据库缺点 1.浪费空间 由于ES数据库采用文档Id分布,当文档很稀疏时,将会很浪费空间 4.ES数据库restful操作 域名:127.0.0.1:9200 操作的...post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" } timeout=5m 这里设置超时操作...v 16.查询集群文档数量 GET /_cat/count?v 17.query查询URI GET /twitter/_search?

    97210

    Mysql数据库~~条件查询、分页查询、修改操作

    comment表示的对于我们创建的表的列的注释,别人写的时候我们要能够认出来; 1.2对于表的排序 这个里面需要加上order by这个东西,后面需要指出来我们是使用升序还是降序对于这个表的某一列进行操作...下面的这个是我自己按照english这一列进行的默认的升序排列; 1.3修改某一列的名字 我们的下面的这个就是把biology这个列的名字修改为history的名称,但是这个修改只是临时的,实际上这个真实的数据库的这个表里面的数据是不变的...,两个都是null的时候可以返回这个1,这个解决了这个=的问题; like这个表示的是模糊匹配,就是我们不知道筛选什么,但是我们已经有了明确的标准; 2.3条件查询展示 查询语文成绩好于英语成绩的情况...: 2.4条件查询的先后问题 下面的这个我们本来是想要先进行这个数据的重命名,就是把这个相加之后的结果命名为total,然后在这个where进行条件查询的时候,使用这个total进行这个条件判断,但是这个时候会报错...,set表示的就是设置的意思,表示的是我们要对于这个什么内容进行设置,这个设置的对象就是根据我们的这个where进行查询得到的,对于这个符合where条件的进行设置; 4.2一次修改多列 下面的这个就是对于这个数据库里面的这个表的多列内容进行修改

    1.5K10
    领券