mysql - 将 GROUP BY 添加到 Django 查询

标签 mysql sql django django-models

我有以下查询:

titles = Title.objects.all()

在某些情况下,我需要为此查询获取 DISTINCT ('title')。 Django 在使用 MySQL 后端时不允许 distinct('title')

本质上,我想做的是:

titles = titles.extra('GROUP BY title')

我该如何正确执行此操作?

最佳答案

您是否尝试过使用 .distinct() 方法?

titles = Title.objects.values('title','other_columns_you_care_about_and_not_distinct').distinct()

如果您在 .all() 上执行 .distinct(),您将返回与开始时一样多的行,当然前提是您的 id 列是独特的。因此,您只需在 .values() 中拉回您需要的列。

关于mysql - 将 GROUP BY 添加到 Django 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12681018/

相关文章:

mysql - 通过 Perl(或其他语言)中的 ftp 递归远程目录树,仅将文件层次结构信息填充到 MySQL 中 - 查找现有库

django - 在 Heroku 中将 wwwhisper 用于 Django 应用程序

Django TestCase 类 - 为什么有些方法是 Camel 案例而另一些是蛇案例?

django - 禁用 Django 的 CreateView 中的表单字段

sql - bigquery中比较两个表的有效方法

php - 使用php中的多个关键字搜索数据库

php - 敏感数据是否应该通过脚本和数据库两种方式加密?

java - 如何从 mysql 表中获取最后 3 个不同的 ID

Mysql,在过程中声明游标之前插入

MySQL:为按日期分组的最大值选择相应的行