有没有办法在一个 Django查询中执行以下操作?
MyModel.filter(attr=a).values('attr','fields','of','interest').annotate(count=Count('id'))
MyModel.filter(attr=b).values('attr','fields','of','interest').annotate(count=Count('id'))
编辑:
我需要a和b的单独计数。我想,MyModel.filter(attr__in=(a,b))...
或MyModel.filter(Q(attr=a)|Q(attr=b))...
无效。
答案 0 :(得分:4)
你的MyModel类可能有一个order_by值设置为不在('attr','fields','of','interest')的东西上。尝试删除一个或多个感兴趣字段的排序或排序。
MyModel.objects.values('attr','fields','of','interest'
).annotate(count=Count('id')).order_by()