Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[soc2010/query-refactor] Implemented __in.

  • Loading branch information...
commit 3efa6195411f46dcffb0ee78b9a2ce7dc1876421 1 parent 9a895a6
@alex alex authored
View
1  django/contrib/mongodb/compiler.py
@@ -10,6 +10,7 @@ class SQLCompiler(object):
"lt": lambda params, value_annotation, negated: {"$lt": params[0]},
"isnull": lambda params, value_annotation, negated: {"$ne": None} if value_annotation == negated else None,
"gt": lambda params, value_annotation, negated: {"$gt": params[0]},
+ "in": lambda params, value_annotation, negated: {"$in": params},
}
def __init__(self, query, connection, using):
View
26 tests/regressiontests/mongodb/tests.py
@@ -258,3 +258,29 @@ def test_gt(self):
],
lambda g: g.name,
)
+
+ def test_in(self):
+ q = Group.objects.create(name="Queen", year_formed=1971)
+ e = Group.objects.create(name="The E Street Band", year_formed=1972)
+
+ self.assertQuerysetEqual(
+ Group.objects.filter(year_formed__in=[1972]), [
+ "The E Street Band",
+ ],
+ lambda g: g.name,
+ )
+
+ self.assertQuerysetEqual(
+ Group.objects.filter(year_formed__in=[1972, 1971]), [
+ "Queen",
+ "The E Street Band",
+ ],
+ lambda g: g.name
+ )
+
+ self.assertQuerysetEqual(
+ Group.objects.exclude(year_formed__in=[1972]), [
+ "Queen",
+ ],
+ lambda g: g.name,
+ )
Please sign in to comment.
Something went wrong with that request. Please try again.