Generate Unique Indices for Lists of EmbeddedDocs

- Unique indices are now created in the database for EmbeddedDocument
  fields when the EmbeddedDocument is in a ListField
- Closes Issue #358
This commit is contained in:
Matthew Ellison
2014-11-19 15:50:32 -05:00
committed by Matthew Ellison
parent 285da0542e
commit bc53dd6830
3 changed files with 36 additions and 0 deletions

View File

@@ -816,6 +816,9 @@ class BaseDocument(object):
index = {'fields': fields, 'unique': True, 'sparse': sparse}
unique_indexes.append(index)
if field.__class__.__name__ == "ListField":
field = field.field
# Grab any embedded document field unique indexes
if (field.__class__.__name__ == "EmbeddedDocumentField" and
field.document_type != cls):