﻿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
1530	[patch] making distinct=True work with get_count	anonymous	Adrian Holovaty	"Currently get_count() ignores a distinct=True argument. This patch fixes that.

Unfortunately, company firewall issues don't allow me to use svn, so I don't have an svn-diff patch. Sorry about pasting code into the ticket body. For the same reason, I'm using the 0.91 tarball, not the svn version, though I believe the patch is the same for both (I don't think the method in question has changed). In magic-removal, the same idea should work, but it looks like the syntax would be slightly different.

Here's the changed method in django/core/meta/!__init!__.py (commented out lines are the originals, with the changed version below them):
{{{
def function_get_count(opts, **kwargs):
    kwargs['order_by'] = []
    kwargs['offset'] = None
    kwargs['limit'] = None
    kwargs['select_related'] = False
#    _, sql, params = function_get_sql_clause(opts, **kwargs)
    select, sql, params = function_get_sql_clause(opts, **kwargs)
    cursor = db.db.cursor()
#    cursor.execute(""SELECT COUNT(*)"" + sql, params)
    cursor.execute(""SELECT COUNT("" + (kwargs.get('distinct') and ""DISTINCT %s"" % select[0] or ""*"")  + "")"" + sql, params)
    return cursor.fetchone()[0]
}}}"	enhancement	closed	Core (Other)	0.91	normal	fixed			Unreviewed	1	0	0	0	0	0
