django中order_by会影响values_list和distinct组合的查询结果吗
更新:HHH   时间:2023-1-7


这篇文章主要介绍“django中order_by会影响values_list和distinct组合的查询结果吗”,在日常操作中,相信很多人在django中order_by会影响values_list和distinct组合的查询结果吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”django中order_by会影响values_list和distinct组合的查询结果吗”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

项目中有这样的查询

TaskDetail.objects.values_list('deploy_app_groups', flat=True).distinct()

发现返回的结果中有重复项,

看LOG中的sql语句,发现查询了该表中的好几个字段,然后对这几个字段共同进行distinct,这样肯定不唯一。不知道为什么没有只查我需要的字段。

参考了这个帖子:

https://stackoverflow.com/questions/10848809/django-model-get-distinct-value-list

加了一个drder_by,就可以了。

TaskDetail.objects.order_by('deploy_app_groups').values_list('deploy_app_groups', flat=True).distinct()

查看具体执行的sql,也只查了需要查询的字段。

到此,关于“django中order_by会影响values_list和distinct组合的查询结果吗”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!

返回大数据教程...