Fixed error in empty property on QCombination
This commit is contained in:
parent
db2f64c290
commit
c0f7c4ca2d
@ -158,7 +158,7 @@ class QCombination(QNode):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def empty(self):
|
def empty(self):
|
||||||
return not bool(self.query)
|
return not bool(self.children)
|
||||||
|
|
||||||
|
|
||||||
class NewQ(QNode):
|
class NewQ(QNode):
|
||||||
|
@ -1417,6 +1417,7 @@ class NewQTest(unittest.TestCase):
|
|||||||
def test_and_combination(self):
|
def test_and_combination(self):
|
||||||
class TestDoc(Document):
|
class TestDoc(Document):
|
||||||
x = IntField()
|
x = IntField()
|
||||||
|
y = StringField()
|
||||||
|
|
||||||
# Check than an error is raised when conflicting queries are anded
|
# Check than an error is raised when conflicting queries are anded
|
||||||
def invalid_combination():
|
def invalid_combination():
|
||||||
@ -1432,6 +1433,15 @@ class NewQTest(unittest.TestCase):
|
|||||||
query = (q1 & q2).to_query(TestDoc)
|
query = (q1 & q2).to_query(TestDoc)
|
||||||
self.assertEqual(query, {'x': {'$lt': 7, '$gt': 3}})
|
self.assertEqual(query, {'x': {'$lt': 7, '$gt': 3}})
|
||||||
|
|
||||||
|
# More complex nested example
|
||||||
|
query = NewQ(x__lt=100) & NewQ(y__ne='NotMyString')
|
||||||
|
query &= NewQ(y__in=['a', 'b', 'c']) & NewQ(x__gt=-100)
|
||||||
|
mongo_query = {
|
||||||
|
'x': {'$lt': 100, '$gt': -100},
|
||||||
|
'y': {'$ne': 'NotMyString', '$in': ['a', 'b', 'c']},
|
||||||
|
}
|
||||||
|
self.assertEqual(query.to_query(TestDoc), mongo_query)
|
||||||
|
|
||||||
def test_or_combination(self):
|
def test_or_combination(self):
|
||||||
class TestDoc(Document):
|
class TestDoc(Document):
|
||||||
x = IntField()
|
x = IntField()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user