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:
@@ -69,7 +69,7 @@ class AllWarnings(unittest.TestCase):
|
||||
p2.parent.name = "Poppa Wilson"
|
||||
p2.save()
|
||||
|
||||
self.assertEqual(len(self.warning_list), 1)
|
||||
self.assertTrue(len(self.warning_list) > 0)
|
||||
if len(self.warning_list) > 1:
|
||||
print self.warning_list
|
||||
warning = self.warning_list[0]
|
||||
@@ -91,4 +91,4 @@ class AllWarnings(unittest.TestCase):
|
||||
InheritedDocumentFailTest._get_collection_name())
|
||||
|
||||
import sys
|
||||
sys.path[0:0] = [""]
|
||||
sys.path[0:0] = [""]
|
||||
|
||||
@@ -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