小孩已经入睡,坐下来会想了一下一周的工作,突然想到了一个值得记
录下来的事情,过程如下:
上周,小伙伴开发的运维看板+工具接到一个需求,希望可以通过微服务
包名称查询到该微服务属于哪个服务包,在这之前工具已经具备正向查
询依赖的能力,这次只是做一个反向查询,瞬间感觉so easy ,后台接口
10行代码搞定,做一个接口测试,出现重复数据,到数据库核实之后确实
小伙伴查询的几个字段组合存在重复数据,没问题,那就去重呗,
django orm,这么强大框架,去重这种小事情自然不在话下,果断使用
distinct进行去重,加上之后信心满满,不过作为一个严谨的程序猿,还
是要测一下的,不测不要紧,一测之下,小伙伴都惊呆了🤯🤯🤯,竟然没
有去重,彷佛小伙伴根本没有加上distinct这么牛逼的过滤一样,在刹那
的慌乱之后一个成熟的程序猿的素养告诉自己不要慌,这不是你的问
题,应该是distinct是个报废的功能😏😏😏,我要去官网求证,于是乎我
得到了这样的解释:
在使用distinct进行去重的时候,除了指定的字段之外,会加上order_by
中的字段,如果没有进行order_by操作,则会加上默认的oeder_by字
段,此时此刻小伙伴默默的年了一句,你大爷的,然后在distinct后面加
上了order_by指定了要去重的三个字段中的一个,测试,瞬间得到了去重
后的数据。。。
此时,该功能已经给用户带来了便利,提升了效率,不过小伙伴想到了
这个事情,记录下来
最后,官方文档有时间还是要熟读的,实在没时间了,在遇到这种基本
功能上的问题的时候首选官方文档。
Django ORM distinct去重失败
最新推荐文章于 2025-01-14 09:07:58 发布
解决了一个关于使用Django ORM进行数据去重的问题,通过正确应用distinct和order_by实现了有效的数据去重。
1万+

被折叠的 条评论
为什么被折叠?



