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,也只查了需要查询的字段。

如下文章对该现象查了文档,不过也没说的太清楚,有兴趣的可以查看下

https://blog.csdn.net/qq_27361945/article/details/80256298

以上是 django中order_by会影响values_list和distinct组合的查询结果 的全部内容, 来源链接: utcz.com/z/510407.html

回到顶部