我试图过滤我的Django模型中出现最多的元素(在本例中,是销售量最大的用户),然后对其进行排序。经过一番研究,我得出了以下解决方案:
best_seller = [seller for seller in Sale.objects.values_list("seller", flat=True).annotate(s_count=Count("seller")).order_by("-s_count")]
seller
是包含User对象的Sale
表中的一列。给定的代码只返回一个数组,该数组包含(可能?)找到的用户的ID,而不是查询集本身。
1条答案
按热度按时间mnemlml81#
使用queryset:
这将返回
Seller
的顺序 * 相关 *Sale
的数量。