diff --git a/django/contrib/mongodb/compiler.py b/django/contrib/mongodb/compiler.py index 4a42e677a5..880f9bc7cd 100644 --- a/django/contrib/mongodb/compiler.py +++ b/django/contrib/mongodb/compiler.py @@ -9,6 +9,7 @@ class SQLCompiler(object): "exact": lambda params, value_annotation, negated: params[0], "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]}, } def __init__(self, query, connection, using): diff --git a/tests/regressiontests/mongodb/tests.py b/tests/regressiontests/mongodb/tests.py index 255d72acef..5c58f81171 100644 --- a/tests/regressiontests/mongodb/tests.py +++ b/tests/regressiontests/mongodb/tests.py @@ -224,3 +224,35 @@ class MongoTestCase(TestCase): ], lambda g: g.name ) + + def test_gt(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__gt=1970), [ + "Queen", + "The E Street Band", + ], + lambda g: g.name + ) + + self.assertQuerysetEqual( + Group.objects.filter(year_formed__gt=1971), [ + "The E Street Band", + ], + lambda g: g.name + ) + + self.assertQuerysetEqual( + Group.objects.filter(year_formed__gt=1972), + [], + lambda g: g.name + ) + + self.assertQuerysetEqual( + Group.objects.exclude(year_formed__gt=1971), [ + "Queen", + ], + lambda g: g.name, + )