我看到很多关于 1.1 的聚合的讨论,但我不确定如何使用它来执行简单的 group by。
我正在尝试使用 Django 的站点地图框架来创建一个 sitemap.xml 文件,Google 可以抓取该文件以查找我网站的所有页面。目前我将所有对象传递给它,如 Model.objects.all()
中一样 - 然而真正重要的是每个名称只传递 1 个。可能有 5-10 个具有相同名称的模型实例,但我只想传递一个以避免重复。
如果我这样做:
Model.objects.values('name').annotate(Count('name'))
它给了我我想要的东西,但我没有从模型中检索所有字段 - 创建站点地图的代码随后将被迫重新查询每个模型以创建链接。那么,在检索模型的所有字段时,如何让它按名称分组呢?
最佳答案
Django 模型是延迟加载的。如果您的代码像站点地图那样遍历模型关系,那么开销将是相同的。在您请求相关模型之前,模型字段本质上是代理。
关于python - 如何在 Django 1.1 中执行 "Group By"查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1581383/