089:QuerySet API详解-count和exists
Posted zheng-weimin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了089:QuerySet API详解-count和exists相关的知识,希望对你有一定的参考价值。
QuerySet API详解-count和exists:
count :获取提取的数据的个数。如果想要知道总共有多少条数据,那么建议使用 count ,而不是使用 len(articles) 这种。因为 count 在底层是使用 select count(*) 来实现的,这种方式比使用 len 函数更加的高效;
# book_sum = Book.objects.all() # print(len(book_sum)) result = Book.objects.count() print(result)
first 和 last :返回 QuerySet 中的第一条和最后一条数据,如果原来数据集就是空,则返回Null;
aggregate :使用聚合函数;
exists :判断某个条件的数据是否存在。如果要判断某个条件的元素是否存在,那么建议使用 exists ,这比使用 count 或者直接判断 QuerySet 更有效得多。示例代码如下:
if Article.objects.filter(title__contains=‘hello‘).exists(): print(True) 比使用count更高效: if Article.objects.filter(title__contains=‘hello‘).count() > 0: print(True) 也比直接判断QuerySet更高效: if Article.objects.filter(title__contains=‘hello‘): print(True)
实例代码截图:
以上是关于089:QuerySet API详解-count和exists的主要内容,如果未能解决你的问题,请参考以下文章
081:QuerySet API详解-values和values_list
093:QuerySet API详解-QuerySet转换为SQL的条件