Django distinct
时间: 2023-10-22 16:05:29 浏览: 171
在Django中,"distinct"是一个查询方法,用于从结果集中排除重复的对象。 这个方法可以应用于查询集中的字段,以确保返回的结果只包含唯一的值。
举个例子,当我们执行以下的model语句时:
UserModel.objects.filter(create_date='2020-12-08').values("user").distinct().count()
这个查询语句将返回在创建日期为2020年12月8日的用户中,唯一用户的数量。
另外,我们还可以使用"aggregate"方法来进行聚合操作。例如,当我们执行以下的model语句时:
from django.db.models import Sum
UserModel.objects.filter(create_date='2020-12-08').aggregate(num=Sum("count"))
这个查询语句将返回在创建日期为2020年12月8日的用户中,"count"这个字段的总和。
另外,我们还可以使用"annotate"方法来进行分组和计数操作。例如,当我们执行以下的model语句时:
from django.db.models import Count
TestTable.objects.values("create_date").annotate(count=Count("user", distinct=True))
这个查询语句将返回根据创建日期分组的TestTable对象,并对每个分组中的用户进行计数,并去除重复的用户。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Django 之 distinct、count、sum字段的几种用法](https://blog.csdn.net/weixin_43354181/article/details/118062590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文