django查询集-17】的更多相关文章

当查询结果是多个的时候,django-ORM会返回一个 查询集(QuerySet) ,表示从数据库中获取对象的 集合 . 查询集可以使用过滤器进行再次处理. 例如查询阅读量大于20且评论数大于30的书 >>> book = Book.objects.filter(b_read__gt=20) >>> book.filter(b_comment__gt=30) <QuerySet [<Book: 天龙八部>]> 因为查询集类似一个集合,所以可以对查…
本节将详细介绍查询集的API,它建立在下面的模型基础上,与上一节的模型相同: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self): # __unicode__ on Python 2 return self.name class Author(models.Model…
通过模型中的管理器构造一个查询集(QuerySet),来从数据库中获取对象.查询集表示从数据库中取出来的对象的集合.它可以含有零个.一个或者多个过滤器.过滤器基于所给的参数限制查询的结果. 从SQL 的角度,查询集和SELECT语句等价,过滤器是像WHERE 和LIMIT 一样的限制子句. 可以从模型的管理器那里取得查询集.每个模型都至少有一个管理器,它默认命名为objects.通过模型类来直接访问它,像这样: >>> Blog.objects <django.db.models.…
filter 表示=, 返回一个新的QuerySet,包含与给定的查询参数匹配的对象.exclude 表示!=. 返回一个新的QuerySet,它包含不满足给定的查找参数的对象. annotate 使用提供的查询表达式Annotate 查询集中的每个对象.查询表达式可以是一个简单的值.模型(或关联模型)字段的一个引用或对查询集中的对象一个聚合函数(平均值.和等). querySet.distinct() 去重复__exact 精确等于 like 'aaa' __iexact 精确等于 忽略大小写…
条件选取querySet的时候,filter表示=,exclude表示!=.querySet.distinct() 去重复__exact 精确等于 like 'aaa' __iexact 精确等于 忽略大小写 ilike 'aaa' __contains 包含 like '%aaa%' __icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains.__gt 大于__gte 大于等于__lt 小于__lte 小于…
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453131687 本节将详细介绍查询集的API,它建立在下面的模型基础上,与上一节的模型相同: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline =…
""" 返回查询集的方法称为过滤器 all() 返回查询集中所有数据 filter() 返回符合条件的数据 一.filter(键=值) 二.filter(键=值,键=值) #两个关系为and 三.filter(键=值).filter(键=值) #两个关系为and exclude()过滤掉符合逻辑的数据 order_by()排序 values()一条数据就是一个对象{字典},返回一个列表 返回单个数据: get() 返回一个满足条件的对象 注意:如果没有找到符合条件对象,会引发…
本文从Django官方文档总结而来,将聚合的主要用法和查询集的常见方法做一归纳. 聚合 1. 聚合的产生来源于django数据库查询,通常我们使用django查询来完成增删查改,但是有时候需要更复杂的方法才能完成对数据的提取.筛选.更改,所以需要一组对象聚合来完成这种操作.模型举例如下: from django.db import models class Author(models.Model): name = models.CharField(max_length=100) age = mo…
1. 字段查询 通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询. 函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能有一条数据. 返回值是一个模型类对象. 参数中写查询条件. 1)如果查到多条数据,则抛异常MultipleObjectsReturned. 2)查询不到数据,则抛异常:DoesNotExist. all 返回模型类对应表格中的所有数据. 返回值是QuerySet类型 查询集 filter 返回满足条件的数据. 返回值是QuerySet类…
查询集表示从数据库中获取的对象集合,在管理器上调用某些过滤器方法会返回查询集,查询集可以含有零个.一个或多个过滤器.过滤器基于所给的参数限制查询的结果,从Sql的角度,查询集和select语句等价,过滤器像where和limit子句. 模型管理器的方法返回查询集的方法如下 all():返回所有数据. filter():返回满足条件的数据. exclude():返回满足条件之外的数据,相当于sql语句中where部分的not关键字. order_by():对结果进行排序. 返回单个值的过滤器如下:…
本节将详细介绍查询集的API,它建立在下面的模型基础上,与上一节的模型相同: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self): # __unicode__ on Python 2 return self.name class Author(models.Model…
查询操作是Django的ORM框架中最重要的内容之一.我们建立模型.保存数据为的就是在需要的时候可以查询得到数据.Django自动为所有的模型提供了一套完善.方便.高效的API,一些重要的,我们要背下来,一些不常用的,要有印象,使用的时候可以快速查找参考手册. 本节的内容基于如下的一个博客应用模型: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagl…
查询集 QuerySet 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合. 当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表): all():返回所有数据. filter():返回满足条件的数据. exclude():返回满足条件之外的数据. order_by():对结果进行排序. 对查询集可以再次调用过滤器进行过滤,如 BookInfo.objects.filter(bread__gt=30).order_by('bpub_date') 从SQL的角度…
========关于Django查询知识点总结======= models.Book.objects.filter(**kwargs): querySet [obj1,obj2] models.Book.objects.filter(**kwargs).values(*args) : querySet [{},{},{}] models.Book.objects.filter(**kwargs).values_list(title) : querySet [(),(),()] 跨表查询总结 -…
1.curd(增删改查) 对于数据库,作为一名开发人员并不会感到陌生,那么数据库中的查询集是怎么一回事呢? 2.数据库的查询集 查询集这个概念存在django框架中,存在于ORM(object relational mapping)对象关系映射.当调用以下的过滤方法时,将会返回一个查询结果集 all():返回所有数据. filter():返回满足条件的数据. exclude():返回满足条件之外的数据. order_by():对结果进行排序 对查询集可以再次调用过滤器进行过滤,如:BookInf…
1 概念 Django的ORM中存在查询集的概念. 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合. 当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表): all():返回所有数据. filter():返回满足条件的数据. exclude():返回满足条件之外的数据. order_by():对结果进行排序. 对查询集可以再次调用过滤器进行过滤,如 BookInfo.objects.filter(bread__gt=30).order_by('bpub_d…
现在有一张记录用户信息的UserInfo数据表,表中记录了10个用户的姓名,呢称,年龄,工作等信息. models文件 from django.db import models class Job(models.Model): title=models.CharField(max_length=32) class UserInfo(models.Model): username=models.CharField(max_length=32) nickname=models.CharField(m…
我试过,当settings里的:USE_TZ = False时也可以查询,但是数据库里的时间就会显示错的 解决方法是可以再终端输入 mysql_tzinfo_to_sql /usr/share/zoneinfo然后重启数据库 原因是django查询数据库时sql语句会用转换时区函数,而mysql无法获取Asia/Shanghai的正确时间,所以会返回空 有问题的可以留言…
django2.0发行文档说,django2.0最后一个支持的是python3.4+... 所以,还在用python2.7的同学只能手动指定版本下载了 pip2 install django==1.8.17 或 pip2 install django==1.10 摘自:https://docs.djangoproject.com/en/2.0/releases/2.0/ Python2.7.x 下载django的报错 ''' 在新创建的Django项目中执行makemigrations时,遇到:…
Django查询SQL语句 # 1 res=models.Book.objects.all() # print(res)#<QuerySet [<Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>]> #2 res=models.…
当编写django查询时,可以使用id / pk作为查询参数. Object.objects.get(id=1) Object.objects.get(pk=1) pk代表主键(primary key),pk更加独立于实际的主键字段,即您不必关心主键字段是否被称为id或object_id或任何. 如果您具有不同主键字段的模型,它还可以提高您的一致性. 转载:https://codeday.me/bug/20170509/14672.html…
Django 查询时间段 1.大于某个时间 gt now = datetime.datetime.now()start = now – datetime.timedelta(hours=23, minutes=59, seconds=59)a=yourobject.objects .filter(youdatetimcolumn__gt=start) 大于等于某个时间:gte 查询的时候用a=yourobject.objects .filter(youdatetimcolumn__gte=sta…
Django查询一个权限中包含哪些用户 Django的Permission对象中没有直接查询相关用户的信息,而都是通过User对象来查询某个用户有哪些权限,例如: user.objects.get(username='admin').user_permissions.values() 但是有时候你想根据权限,来查找哪些用户具有此权限,那么下面方法能解决这个问题: from django.contrib.auth.models import Permission, User p = Permiss…
1 查询集 : 指数据查询的集合 原始查询集: 不经过任何过滤返回的结果为原始查询集 数据查询集: 将原始查询集经过条件的筛选最终返回的结果 查询过滤器: 过滤器 功能 cls.query.filter(类名.属性名 条件操作符 条件) 过滤特定条件,返回的是query对象 cls.query.filter_by(关键字参数对) 单条件查询,条件必须关键字参数,而且and连接 cls.query.offset(num)/查询集对象.offset(num) 针对filter查询集对象偏移 cls.…
一. 内置Admin 依赖APP: django.contrib.auth django.contrib.contenttypes django.contrib.messages django.contrib.sessions 模板的context_processors: django.contrib.auth.context_processors.auth django.contrib.messages.context_processors.messages 中间件: django.contr…
版权归作者所有,任何形式转载请联系作者. 作者:petanne(来自豆瓣) 来源:https://www.douban.com/note/301166150/  1.多表连接查询:感觉django太NX了.  class A(models.Model):    name = models.CharField(u'名称')  class B(models.Model):    aa = models.ForeignKey(A)B.objects.filter(aa__name__contains=…
以Publisher.Author.Book的model为例子 #coding=utf-8 from django.db import models # Create your models here. class Publisher(models.Model): name=models.CharField(verbose_name="出版社",max_length=30) address=models.CharField(verbose_name="地址",max…
models.Book.objects.filter(**kwargs): querySet [obj1,obj2] models.Book.objects.filter(**kwargs).values(**kwargs) : querySet [{},{},{}] models.Book.objects.filter(**kwargs).values_list(title) : querySet [(),(),()] 跨表查询总结: class Book(models.Model): tit…
参考:http://stackoverflow.com/questions/6567831/how-to-perform-or-condition-in-django-queryset django自带的orm,虽然给我们写代码带来了方便,但是由于本身的一些限制,有些复杂的sql查询语句没办法时间,今天就说一下django  orm中的  或者 查询. SELECT * from user where income >= 5000 or income is NULL. 上面的sql语句我们查询收…
from django.db.models import Max, Min, Sum, Avg, Count, Q, F Django中的F和Q函数 一.F介绍 作用:操作数据表中的某列值,F()允许Django在未实际链接数据的情况下具有对数据库字段的值的引用,不用获取对象放在内存中再对字段进行操作,直接执行原生产sql语句操作. 通常情况下我们在更新数据时需要先从数据库里将原数据取出后方在内存里,然后编辑某些属性,最后提交.例如:(先在业务逻辑层完成计算, 后再db层完成一次性更新) obj…