我有一个代理列表,我想过滤这个列表,然后按他们写的评论排序(如果代理写了评论,那么他应该出现在我的列表顶部)。问题是我的名单上有三个相同的经纪人,因为他写了三条评论
我试图在查询末尾添加distinct,但出现以下错误:
NotImplementedError: DISTINCT ON fields is not supported by this database backend
这里是我的查询,如果一个代理写了x条评论,它将生成x个代理
agents = Agent.objects.filter(name__icontains=name, metier__name__icontains=metier,
code_uf__icontains=code_uf, grade_code__icontains=grade,
matricule__icontains=matricule).order_by('-comments')
下面是带有distinct的查询:
agents = Agent.objects.filter(name__icontains=name, metier__name__icontains=metier,
code_uf__icontains=code_uf, grade_code__icontains=grade,
matricule__icontains=matricule).order_by('-comments').distinct('comments')
我希望我的名单代理没有重复代理。列表类型应该是queryset(因为我使用的是all param after)。现在我的名单上有三次是同一个经纪人,因为他写了三条评论
好吧,经过更多的研究,我找到了解决办法。我使用了^{} ,然后在这个
annotate
上使用了order_by
相关问题 更多 >
编程相关推荐