django下常用查询的API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django下常用查询的API相关的知识,希望对你有一定的参考价值。

django.db.models.query.QuerySet

QuerySet的特点:
1、是可迭代
2、可切片

查询相关的API:
1、get(**kwargs):返回与所给的筛选条件相匹配的对象,返回结果有且只有一个。如果符合筛选条件的对象超过一个,就会抛出MultipleObjectsReturned异常,如果没有找到符合筛选条件的对象,就会抛出DoesNotExist异常。
2、all():查询所有结果
3、filter(**kwargs):包含了与所给的筛选条件相匹配的对象
4、exclude(**kwargs):它包含那些所给筛选条件
5、order_by(*fields):对查询结果排序
6、reverse():对查询结果反向排序
7、distinct():从返回结果中的剔除重复记录
8、values(*fields):返回一个ValuesQuerySet --- 一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列
9、values_list(*fields):它与values()非常相似,只不过后者返回的结果是字段序列,而values_list()返回的结果是元组序列
10、count():返回数据库中匹配查询(QuerySet)的对象数量
11、first():返回第一条记录,等价于[:1][0]
12、last():返回最后一条记录,等价于[::-1][0]
13、exist():如果QuerySet包含有数据,就返回True,否则就返回False
















以上是关于django下常用查询的API的主要内容,如果未能解决你的问题,请参考以下文章

Django model 遇到查询条件组合比较多的情况下怎么写

你可以在没有模型的情况下在 Django 中运行原始 MySQL 查询吗?

Django 在不使用字段查找的情况下从查询集中排除特定实例

在不使用 API 的情况下,是不是有任何可接受的方式来切割/重组 Django 查询集?

Django model 遇到查询条件组合比较多的情况下怎么写

Django ORM:在不执行 N+1 查询的情况下检索帖子和最新评论