Fixed index spec inheritance (MongoEngine/mongoengine#111)

This commit is contained in:
Ross Lawley 2012-09-04 08:20:19 +01:00
parent 1cf3989664
commit 3534bf7d70
3 changed files with 27 additions and 0 deletions

View File

@ -2,6 +2,10 @@
Changelog
=========
Changes in 0.7.1
=================
- Fixed index spec inheritance (MongoEngine/mongoengine#111)
Changes in 0.7.0
=================
- Updated queryset.delete so you can use with skip / limit (MongoEngine/mongoengine#107)

View File

@ -510,6 +510,10 @@ class QuerySet(object):
use_types = allow_inheritance and not spec.get('sparse', False)
for key in spec['fields']:
# If inherited spec continue
if isinstance(key, (list, tuple)):
continue
# Get ASCENDING direction from +, DESCENDING from -, and GEO2D from *
direction = pymongo.ASCENDING
if key.startswith("-"):

View File

@ -669,6 +669,25 @@ class DocumentTest(unittest.TestCase):
BlogPost.drop_collection()
def test_inherited_index(self):
"""Ensure index specs are inhertited correctly"""
class A(Document):
title = StringField()
meta = {
'indexes': [
{
'fields': ('title',),
},
],
'allow_inheritance': True,
}
class B(A):
description = StringField()
self.assertEqual(A._meta['index_specs'], B._meta['index_specs'])
def test_db_field_load(self):
"""Ensure we load data correctly
"""