django怎么在不适用聚合函数的情况下产生一个group by查询

现在有这样一个model:

class Code:
    name = models.CharField('名称', max_length=20)
    type = models.CharField('类型', max_length=20)
    code = models.PositiveIntegerField('编号')

我需要查询表中有多少种type,SQL语句:

SELECT type FROM code GROUP BY type;

网上查到了一些都是通过annotate和聚合函数来实现GROUP BY查询,但是像我这种情况应该怎么做?

阅读 1.8k
1 个回答

有多少种type跟聚合有啥关系?直接去重不就行了。

select distinct type from code;

Code.objects.order_by('type').distinct('type').count()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题