Added index for _types

This commit is contained in:
Harry Marr
2010-01-08 04:49:14 +00:00
parent eb3e6963fa
commit 54d276f6a7
3 changed files with 34 additions and 8 deletions

View File

@@ -239,7 +239,8 @@ class DocumentTest(unittest.TestCase):
info = BlogPost.objects._collection.index_information()
self.assertEqual(len(info), 0)
BlogPost.objects()
# Indexes are lazy so use list() to perform query
list(BlogPost.objects)
info = BlogPost.objects._collection.index_information()
self.assertTrue([('category', 1), ('addDate', -1)] in info.values())
# Even though descending order was specified, single-key indexes use 1

View File

@@ -326,6 +326,27 @@ class QuerySetTest(unittest.TestCase):
BlogPost.drop_collection()
def test_types_index(self):
"""Ensure that and index is used when '_types' is being used in a
query.
"""
# Indexes are lazy so use list() to perform query
list(self.Person.objects)
info = self.Person.objects._collection.index_information()
self.assertTrue([('_types', 1)] in info.values())
class BlogPost(Document):
title = StringField()
meta = {'allow_inheritance': False}
# _types is not used on objects where allow_inheritance is False
list(BlogPost.objects)
info = BlogPost.objects._collection.index_information()
self.assertFalse([('_types', 1)] in info.values())
BlogPost.drop_collection()
def tearDown(self):
self.Person.drop_collection()