2009-10-17 3 views
3

나는 1.1의 집계에 관해 많은 이야기를 보았지만 간단한 그룹을 수행하는 방법을 잘 모르고있다.Django 1.1에서 "Group By"쿼리를 수행하는 방법은 무엇입니까?

Django의 사이트 맵 프레임 워크를 사용하여 Google이 내 사이트의 모든 페이지를 찾기 위해 크롤링 할 수있는 sitemap.xml 파일을 만들려고합니다. 현재 나는 Model.objects.all()에서와 같이 모든 객체를 전달하고 있습니다. 그러나 중요한 것은 이름 당 1 개만 전달된다는 것입니다. 동일한 이름을 가진 5-10 개의 Model 인스턴스가있을 수 있지만 중복되는 것을 피하기 위해 하나만 전달하려고합니다.

나는 이런 식으로 뭔가 할 경우

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

을 그것은 내가 원하는 걸 제공하지만, 나는이 모델의 모든 필드를 검색하고 있지 않다 - 사이트 맵을 생성하는 코드하는 것은 다음 다시 강제 것 - 모든 단일 모델에 대한 링크를 만드는 쿼리. 그렇다면 모델의 모든 필드를 검색하는 동안 이름으로 그룹화하려면 어떻게해야합니까?

+0

중복 :.. http://stackoverflow.com/questions/327807/django-equivalent-for-count - 및 - 그룹별로 –

답변

1

장고 모델은 지연로드됩니다. Sitemap처럼 코드가 모델 관계를 횡단하는 경우에도 동일한 오버 헤드가 발생합니다. 모델 필드는 본질적으로 관련 모델을 요청할 때까지 프록시입니다.

1

다를 수 있습니다.

Model.objects.values ​​('이름') 모든() 별개의()

관련 문제