Skip to content

Commit dd51cd4

Browse files
committed
Fixed Django 1.2 incompatibility with get_from_clause usage. Thanks jazepstein for the patch.
git-svn-id: https://django-tagging.googlecode.com/svn/trunk@172 83e7428b-ec2a-0410-86f2-bf466d0e5e72
1 parent 1e829d4 commit dd51cd4

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

tagging/models.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,18 @@ def usage_for_queryset(self, queryset, counts=False, min_count=None):
162162
Passing a value for ``min_count`` implies ``counts=True``.
163163
"""
164164

165-
extra_joins = ' '.join(queryset.query.get_from_clause()[0][1:])
166-
where, params = queryset.query.where.as_sql()
165+
if getattr(queryset.query, 'get_compiler', None):
166+
# Django 1.2+
167+
compiler = queryset.query.get_compiler(using='default')
168+
extra_joins = ' '.join(compiler.get_from_clause()[0][1:])
169+
where, params = queryset.query.where.as_sql(
170+
compiler.quote_name_unless_alias, compiler.connection
171+
)
172+
else:
173+
# Django pre-1.2
174+
extra_joins = ' '.join(queryset.query.get_from_clause()[0][1:])
175+
where, params = queryset.query.where.as_sql()
176+
167177
if where:
168178
extra_criteria = 'AND %s' % where
169179
else:

0 commit comments

Comments
 (0)