繁体   English   中英

如何在Django 1.1中执行“分组依据”查询?

[英]How to perform a “Group By” query in Django 1.1?

我已经看过很多关于1.1聚合的讨论,但我不知道如何使用它来执行一个简单的组。

我正在尝试使用Django的站点地图框架来创建一个sitemap.xml文件,Google可以抓取该文件来查找我站点的所有页面。 目前我传递所有对象,如在Model.objects.all() - 但是真正重要的是每个名称只传递1个。 可能有5-10个具有相同名称的Model实例,但我只想传递一个以避免重复。

如果我做这样的事情:

Model.objects.values('name').annotate(Count('name'))

它给了我想要的东西,但后来我没有从模型中检索所有字段 - 然后,创建站点地图的代码将被强制重新查询每个模型以创建链接。 那么在检索模型的所有字段时如何通过名称对其进行分组?

Django模型是延迟加载的。 如果您的代码遍历模型关系,就像站点地图一样,这将是相同的开销。 在您请求相关模型之前,模型字段基本上是代理。

可能是Distinct会帮助你吗?

Model.objects.values( '名')。所有()。不同的()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM