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 lookups with 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..738124f0db7f2654613bfd5c0f85612e748eb689 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: