具有distinct()的Django order_by()过滤器

具有distinct()的Django order_by()过滤器,第1张

概述我怎么可以像这样做一个order_by …. p = Product.objects.filter(vendornumber='403516006')\ .order_by('-created').distinct('vendor__name') 问题是我有同一个名字的多个供应商,我只想要供应商的最新产品. 希望有意义吗? 我得到这个DB错误: SELECT 我怎么可以像这样做一个order_by ….
p = Product.objects.filter(vendornumber='403516006')\                   .order_by('-created').distinct('vendor__name')

问题是我有同一个名字的多个供应商,我只想要供应商的最新产品.

希望有意义吗?

我得到这个DB错误:

SELECT disTINCT ON Expressions must match initial ORDER BY Expressions
liNE 1: SELECT disTINCT ON (“search_vendor”.”name”)
“search_product”…

解决方法 根据您的错误信息和 this other question,在我看来,这将修复它:
p = Product.objects.filter(vendornumber='403516006')\               .order_by('vendor__name','-created').distinct('vendor__name')

也就是说,disTINCT ON表达式似乎必须与最左边的ORDER BY表达式匹配.因此,通过将列用于distinct_by中的第一列,我认为它应该工作.

总结

以上是内存溢出为你收集整理的具有distinct()的Django order_by()过滤器全部内容,希望文章能够帮你解决具有distinct()的Django order_by()过滤器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存