Python 按单列分组而不执行原始sql

Python 按单列分组而不执行原始sql,python,django,Python,Django,我想使用mysql后端在django中执行一个简单的groupbystatement(它不支持django ORM中列上的groupby)。我通常使用以下方法来执行此操作: Cue.objects.raw("SELECT * FROM main_cue GROUP BY group_id") 有没有办法不用这里的.raw()就能做到这一点?相当于: Cue.objects.values('*').distinct('group_id') 我在这里链接过滤器,因此我需要将其“保存在ORM内”。

我想使用mysql后端在django中执行一个简单的
groupby
statement(它不支持django ORM中列上的groupby)。我通常使用以下方法来执行此操作:

Cue.objects.raw("SELECT * FROM main_cue GROUP BY group_id")
有没有办法不用这里的
.raw()
就能做到这一点?相当于:

Cue.objects.values('*').distinct('group_id')

我在这里链接过滤器,因此我需要将其“保存在ORM内”。

这是我迄今为止最好的过滤器,但它非常不干净:

cues = self._get_assignable_cues(keyword)
group_ids = tuple(cues.values_list('group_id', flat=True).distinct())
cues_per_group = Cue.objects.raw(
    'SELECT * FROM main_cue WHERE group_id IN %s GROUP BY group_id', (group_ids,)
)

您使用的是什么数据库?@ruddra Mysql是数据库。