Merge branch 'master' into 0.8
Conflicts: .travis.yml AUTHORS docs/changelog.rst mongoengine/base.py mongoengine/queryset.py tests/queryset/queryset.py
This commit is contained in:
@@ -241,7 +241,7 @@ class QuerySetTest(unittest.TestCase):
|
||||
|
||||
def test_none(self):
|
||||
class A(Document):
|
||||
pass
|
||||
s = StringField()
|
||||
|
||||
A.drop_collection()
|
||||
A().save()
|
||||
@@ -249,6 +249,31 @@ class QuerySetTest(unittest.TestCase):
|
||||
self.assertEqual(list(A.objects.none()), [])
|
||||
self.assertEqual(list(A.objects.none().all()), [])
|
||||
|
||||
class B(Document):
|
||||
ref = ReferenceField(A)
|
||||
boolfield = BooleanField(default=False)
|
||||
|
||||
A.drop_collection()
|
||||
B.drop_collection()
|
||||
|
||||
a1 = A(s="test1").save()
|
||||
a2 = A(s="test2").save()
|
||||
|
||||
B(ref=a1, boolfield=True).save()
|
||||
|
||||
# Works
|
||||
q1 = B.objects.filter(ref__in=[a1, a2], ref=a1)._query
|
||||
|
||||
# Doesn't work
|
||||
q2 = B.objects.filter(ref__in=[a1, a2])
|
||||
q2 = q2.filter(ref=a1)._query
|
||||
self.assertEqual(q1, q2)
|
||||
|
||||
a_objects = A.objects(s='test1')
|
||||
query = B.objects(ref__in=a_objects)
|
||||
query = query.filter(boolfield=True)
|
||||
self.assertEquals(query.count(), 1)
|
||||
|
||||
def test_update_write_options(self):
|
||||
"""Test that passing write_options works"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user