summaryrefslogtreecommitdiff
path: root/django/db/models/sql
diff options
context:
space:
mode:
authorMarc Tamlyn <marc.tamlyn@gmail.com>2013-03-20 10:47:56 +0000
committerClaude Paroz <claude@2xlibre.net>2013-03-22 17:45:41 +0100
commitdd897e4eeb20cab9ac708c46f34c5f09758205c8 (patch)
treee52fa69194af909b0744d97dc6eb7e6e246887e5 /django/db/models/sql
parent7206330c15b6d37dba46e311fd5135b25cf9f9e9 (diff)
[1.5.x] Fixed #20094 - Be more careful when checking for Iterator
Python 2.6 has some different behaviour when checking isinstance(foo, collections.Iterator). Backport of 829dc3c5 from master.
Diffstat (limited to 'django/db/models/sql')
-rw-r--r--django/db/models/sql/where.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/django/db/models/sql/where.py b/django/db/models/sql/where.py
index 47f4ffaba9..2841d130e1 100644
--- a/django/db/models/sql/where.py
+++ b/django/db/models/sql/where.py
@@ -4,7 +4,6 @@ Code to manage the creation and SQL rendering of 'where' constraints.
from __future__ import absolute_import
-import collections
import datetime
from itertools import repeat
@@ -12,6 +11,7 @@ from django.utils import tree
from django.db.models.fields import Field
from django.db.models.sql.datastructures import EmptyResultSet
from django.db.models.sql.aggregates import Aggregate
+from django.utils.itercompat import is_iterator
from django.utils.six.moves import xrange
# Connection types
@@ -51,7 +51,7 @@ class WhereNode(tree.Node):
return
obj, lookup_type, value = data
- if isinstance(value, collections.Iterator):
+ if is_iterator(value):
# Consume any generators immediately, so that we can determine
# emptiness and transform any non-empty values correctly.
value = list(value)