资讯专栏INFORMATION COLUMN

Django中Queryset的使用(一)

JessYanCoding / 2757人阅读

摘要:的使用是懒加载的,部分支持链式调用。和都会出发的接口当我们明确知道只需要返回某个字段的值,不需要实例时,可以使用接口同,但直接返回的是包含的

Queryset的使用

Queryset是懒加载的,部分支持链式调用。

支持链式调用的接口:

all接口: 用于查询所有数据

filter接口: 根据条件进行过滤

exclude接口: 同filter,只是相反的逻辑

reverse接口: 把Queryset中的结果倒序排列

distinct接口: 用来进行去重查询

none接口: 返回空的Queryset

不支持链式调用的接口:

get接口:用于查询,存在返回对应的实例,不存在,则抛出DoesNotExist异常

create接口:直接创建一个Model对象

get_or_create接口:根据条件查找,如果没有查找到,就调用create创建

update_or_create接口:同get_or_create,只是用来做更新操作

count接口:用于返回Queryset有多少条记录

latest接口:用于返回最新一条记录,但需要在Model的Meta中定义:get_latest_by = <用来排序的字段>

earliest接口:同上,返回最早的一条记录

first接口:从当前Queryset记录中获取第一条

last接口:同上,获取最后一条

exists接口:返回True或者False,只需要判断Queryset是否有数据用这个接口最合适

bulk_create接口:同create,用来批量创建记录

in_bulk接口:批量查询

update接口: 用来根据条件批量更新记录

delete接口: 同update,这个接口是用来根据条件批量删除记录。update和delete都会出发Django的signal

values接口:当我们明确知道只需要返回某个字段的值,不需要Model实例时,可以使用

values_list接口:同values,但直接返回的是包含tuple的Queryset

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45055.html

相关文章

  • django 1.8 官方文档翻译: 2-5-4 聚合

    摘要:查询集参考中列出了聚合函数的列表。键的名称是按照字段和聚合函数的名称自动生成出来的。例如,要得到每个书店的价格区别,可以使用如下注解这段代码告诉获取书店模型,并连接通过多对多关系图书模型,然后对每本书的价格进行聚合,得出最小值和最大值。 Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。 交流群:467338606 网站:http...

    Aklman 评论0 收藏0
  • django 1.8 官方文档翻译: 2-5-4 聚合

    摘要:查询集参考中列出了聚合函数的列表。键的名称是按照字段和聚合函数的名称自动生成出来的。例如,要得到每个书店的价格区别,可以使用如下注解这段代码告诉获取书店模型,并连接通过多对多关系图书模型,然后对每本书的价格进行聚合,得出最小值和最大值。 Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。 交流群:467338606 网站:http...

    Tonny 评论0 收藏0
  • django 1.8 官方文档翻译: 2-6-4 数据库访问优化

    摘要:文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。交流群网站数据库访问优化的数据库层提供了很多方法来帮助开发者充分的利用他们的数据库。使用标准数据库优化技巧包括索引。整体插入创建对象时,尽可能使用来减少查询的数量。 Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。 交流群:467338606 网站:http://...

    JinB 评论0 收藏0
  • django 1.8 官方文档翻译: 2-6-4 数据库访问优化

    摘要:文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。交流群网站数据库访问优化的数据库层提供了很多方法来帮助开发者充分的利用他们的数据库。使用标准数据库优化技巧包括索引。整体插入创建对象时,尽可能使用来减少查询的数量。 Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。 交流群:467338606 网站:http://...

    Simon 评论0 收藏0
  • Django框架学习笔记

    摘要:注意,在提供序列化器对象的时候,会向对象的属性补充三个数据,这三个数据对象可以在定义序列化器时使用。举例以图书与英雄案例如水浒传与英雄对应的路由数据查询集数据库查询集数据库查询构建序列化器对象进行序列化操作对应的路由查询单个 基于Django的REST framework 框架的视图说明(二) 开发环境:Ubuntu16.04+Python3.5x+Pycharm2018.2 包含方法...

    freecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<