Fix for case where Document is deleted and it's files (FieldFields) in GridFS remain.

This commit is contained in:
Charanpal
2015-05-23 14:46:56 +01:00
parent 94eac1e79d
commit 2753e02cda
2 changed files with 71 additions and 0 deletions

View File

@@ -463,6 +463,12 @@ class Document(BaseDocument):
"""
signals.pre_delete.send(self.__class__, document=self)
#Delete FileFields seperately
FileField = _import_class('FileField')
for name, field in self._fields.iteritems():
if isinstance(field, FileField):
getattr(self, name).delete()
try:
self._qs.filter(
**self._object_key).delete(write_concern=write_concern, _from_doc_delete=True)