如何在 django 的主干版本中通过查询创建简单的组?
我需要类似的东西
SELECT name
FROM mytable
GROUP BY name
实际上我想做的只是获取所有具有不同名称的条目。
最佳答案
如果您需要所有不同的名称,只需这样做:
Foo.objects.values('name').distinct()
您会得到一个字典列表,每个字典都有一个名称键。如果您需要其他数据,只需将更多属性名称作为参数添加到 .values() 调用中即可。当然,如果您添加的属性在同名行之间可能不同,就会破坏 .distinct()。
如果您想取回完整的模型对象,这将无济于事。但是无论如何,获得不同的名称和获得完整的数据本质上是不相容的目标;您如何知道要完整返回具有给定名称的哪行?如果要为具有给定名称的所有行计算某种聚合数据,aggregation support最近添加到 Django 主干,可以为您处理。
关于python - 在 Django 中分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/475552/