parent
700e2cd93d
commit
c775c0a80c
@ -5,6 +5,8 @@ Changelog
|
|||||||
Changes in dev
|
Changes in dev
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
- Fixed issue creating indexes with recursive embedded documents
|
||||||
|
- Fixed recursive lookup in _unique_with_indexes
|
||||||
- Fixed passing ComplexField defaults to constructor for ReferenceFields
|
- Fixed passing ComplexField defaults to constructor for ReferenceFields
|
||||||
- Fixed validation of DictField Int keys
|
- Fixed validation of DictField Int keys
|
||||||
- Added optional cascade saving
|
- Added optional cascade saving
|
||||||
|
@ -687,7 +687,7 @@ class TopLevelDocumentMetaclass(DocumentMetaclass):
|
|||||||
unique_indexes.append(index)
|
unique_indexes.append(index)
|
||||||
|
|
||||||
# Grab any embedded document field unique indexes
|
# Grab any embedded document field unique indexes
|
||||||
if field.__class__.__name__ == "EmbeddedDocumentField":
|
if field.__class__.__name__ == "EmbeddedDocumentField" and field.document_type != new_class:
|
||||||
field_namespace = "%s." % field_name
|
field_namespace = "%s." % field_name
|
||||||
unique_indexes += cls._unique_with_indexes(field.document_type,
|
unique_indexes += cls._unique_with_indexes(field.document_type,
|
||||||
field_namespace)
|
field_namespace)
|
||||||
|
@ -751,6 +751,17 @@ class DocumentTest(unittest.TestCase):
|
|||||||
post1.save()
|
post1.save()
|
||||||
BlogPost.drop_collection()
|
BlogPost.drop_collection()
|
||||||
|
|
||||||
|
def test_recursive_embedded_objects_dont_break_indexes(self):
|
||||||
|
|
||||||
|
class RecursiveObject(EmbeddedDocument):
|
||||||
|
obj = EmbeddedDocumentField('self')
|
||||||
|
|
||||||
|
class RecursiveDocument(Document):
|
||||||
|
recursive_obj = EmbeddedDocumentField(RecursiveObject)
|
||||||
|
|
||||||
|
info = RecursiveDocument.objects._collection.index_information()
|
||||||
|
self.assertEqual(info.keys(), ['_id_', '_types_1'])
|
||||||
|
|
||||||
def test_geo_indexes_recursion(self):
|
def test_geo_indexes_recursion(self):
|
||||||
|
|
||||||
class User(Document):
|
class User(Document):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user