﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
13589	Annotate returns empty set without value arguments	Adam Nelson	nobody	"With a class referring to itself via a foreign key, annotate does not correctly return results from a filter unless the values to group by are in the queryset.  This is either counter to the documentation or an interface bug:

http://docs.djangoproject.com/en/dev/topics/db/aggregation/#filtering-on-annotations


{{{
class PageEmailLink(models.Model):
  parent = models.ForeignKey('self', null=True, blank=True, related_name='child')
  # Other fields like url, level_deep, etc...


from django.db.models import Count
PageEmailLink.objects.annotate(num_emails=Count('parent')).filter(num_emails__gt=1)

[]

PageEmailLink.objects.values('parent').annotate(num_emails=Count('parent')).filter(num_emails__gt=1)

[{'num_emails': 2, 'parent': 67}, {'num_emails': 2, 'parent': 70}, {'num_emails': 2, 'parent': 75}, {'num_emails': 2, 'parent': 83}, {'num_emails': 2, 'parent': 144446}, {'num_emails': 2, 'parent': 144448}, {'num_emails': 2, 'parent': 144452}, {'num_emails': 2, 'parent': 144453}, {'num_emails': 2, 'parent': 144454}, {'num_emails': 2, 'parent': 144456}, {'num_emails': 2, 'parent': 144457}, {'num_emails': 2, 'parent': 144459}, {'num_emails': 2, 'parent': 144493}, {'num_emails': 2, 'parent': 144495}, {'num_emails': 2, 'parent': 144497}, {'num_emails': 2, 'parent': 144499}, {'num_emails': 2, 'parent': 144500}, {'num_emails': 2, 'parent': 144502}, {'num_emails': 2, 'parent': 144507}, {'num_emails': 2, 'parent': 144508}, '...(remaining elements truncated)...']

PageEmailLink.objects.filter(parent=67)

[<PageEmailLink: http://www.dnelist.com/u/56c372cfa20fccb51b2325ce55496d265 5 levels deep>, <PageEmailLink: http://www.dnelist.com/u/56c372cfa20fccb51b2325ce55496d265 5 levels deep>]

}}}
"		closed	Uncategorized	1.2		invalid			Unreviewed	0	0	0	0	0	0
