关于django中的annotate使用
当在建立模型的时候,在class Meta设置排序, ordering = [‘username’] ,在使用values和annotate的时候,values在annotate前面相当于分组, group by后面会增加username排序字段 。
users = User.objects.values(‘type’).annotate(Count(‘num’))
SELECT user
.type
, COUNT(user
.num
) AS num__count
FROM user
GROUP BY user
.type
, user
.username
加order_by()去掉排序后,恢复正常,变成
SELECT user
.type
, COUNT(user
.num
) AS num__count
FROM user
GROUP BY user
.type