﻿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
14754	TypeError: '[some aggregate function]' object does not support indexing	master	nobody	"Relabelling aliases on the query value, when this value is an Aggregate object, is expected.

A simplified example (don't look for a sense, it's just for the demo):

{{{
from django.contrib.auth.models import User
emails = User.objects.values('email').annotate(
    cnt=Count('id'),
    some_int=Count('username')
).filter(some_int=F('cnt')).values_list('email', flat=True)
print User.objects.filter(email__in=emails).query
}}}

produces:

{{{
  File ""D:\Python26\lib\site-packages\django-svn\django\db\models\sql\query.py"", line 709, in change_aliases
    self.having.relabel_aliases(change_map)
  File ""D:\Python26\lib\site-packages\django-svn\django\db\models\sql\where.py"", line 251, in relabel_aliases
    child[3].relabel_aliases(change_map)
  File ""D:\Python26\lib\site-packages\django-svn\django\db\models\sql\expressions.py"", line 22, in relabel_aliases
    self.cols[node] = (change_map.get(col[0], col[0]), col[1])
TypeError: 'Count' object does not support indexing
}}}

A patch is provided, for django\db\models\sql\expressions.py
"		closed	Database layer (models, ORM)	dev		fixed	relabel_aliases, aggregate		Unreviewed	1	0	0	0	0	0
