projects
/
matthijs
/
upstream
/
django-ldapdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix QuerySet constructor for django 1.2
[matthijs/upstream/django-ldapdb.git]
/
ldapdb
/
models
/
query.py
diff --git
a/ldapdb/models/query.py
b/ldapdb/models/query.py
index b8e4897a645e1132424c1b735aff28928235408d..020d4eeb7d4a9bf3d03c6242ad296ade8789e0a2 100644
(file)
--- a/
ldapdb/models/query.py
+++ b/
ldapdb/models/query.py
@@
-81,11
+81,17
@@
class WhereNode(BaseWhereNode):
if isinstance(item, WhereNode):
bits.append(item.as_sql())
continue
if isinstance(item, WhereNode):
bits.append(item.as_sql())
continue
+
constraint, lookup_type, y, values = item
comp = get_lookup_operator(lookup_type)
if hasattr(constraint, "col"):
# django 1.2
constraint, lookup_type, y, values = item
comp = get_lookup_operator(lookup_type)
if hasattr(constraint, "col"):
# django 1.2
- clause = "(%s%s%s)" % (constraint.col, comp, values)
+ column = constraint.col
+ if lookup_type == 'in':
+ equal_bits = [ "(%s%s%s)" % (column, comp, value) for value in values ]
+ clause = '(|%s)' % ''.join(equal_bits)
+ else:
+ clause = "(%s%s%s)" % (constraint.col, comp, values)
else:
# django 1.1
(table, column, db_type) = constraint
else:
# django 1.1
(table, column, db_type) = constraint
@@
-94,6
+100,7
@@
class WhereNode(BaseWhereNode):
clause = equal_bits[0]
else:
clause = '(|%s)' % ''.join(equal_bits)
clause = equal_bits[0]
else:
clause = '(|%s)' % ''.join(equal_bits)
+
if self.negated:
bits.append('(!%s)' % clause)
else:
if self.negated:
bits.append('(!%s)' % clause)
else:
@@
-151,8
+158,15
@@
class Query(BaseQuery):
yield row
class QuerySet(BaseQuerySet):
yield row
class QuerySet(BaseQuerySet):
- def __init__(self, model=None, query=None):
+ def __init__(self, model=None, query=None
, using=None
):
if not query:
if not query:
- query = Query(model, None, WhereNode)
+ import inspect
+ spec = inspect.getargspec(Query.__init__)
+ if len(spec[0]) == 3:
+ # django 1.2
+ query = Query(model, WhereNode)
+ else:
+ # django 1.1
+ query = Query(model, None, WhereNode)
super(QuerySet, self).__init__(model, query)
super(QuerySet, self).__init__(model, query)