aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/models.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2013-02-18 14:46:28 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2013-02-18 14:55:42 +0100
commitdf5b142ab9bfc590f17768079104f6cfa2cd7bba (patch)
treef9cc60f8cbc1aa0bf8103f33794d5261933f8fa6 /mediagoblin/db/models.py
parent61e39d90e58b8cea5c837d6da5731ab42127c642 (diff)
downloadmediagoblin-df5b142ab9bfc590f17768079104f6cfa2cd7bba.tar.lz
mediagoblin-df5b142ab9bfc590f17768079104f6cfa2cd7bba.tar.xz
mediagoblin-df5b142ab9bfc590f17768079104f6cfa2cd7bba.zip
Fix deleting media with attachments.
If one deletes a media with attachments, there have been various problems: 1) If the file in the storage did not exist any more (maybe because due to a previous deletion attempt?), the error propagation failed, because the wrong thing was gathered. 2) The attachment database entries were not deleted. Using cascade for this, for now. Also add a simple unit test, that tests both by having a broken attachment on a media.
Diffstat (limited to 'mediagoblin/db/models.py')
-rw-r--r--mediagoblin/db/models.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py
index 10e0c33f..2f58503f 100644
--- a/mediagoblin/db/models.py
+++ b/mediagoblin/db/models.py
@@ -145,6 +145,7 @@ class MediaEntry(Base, MediaEntryMixin):
)
attachment_files_helper = relationship("MediaAttachmentFile",
+ cascade="all, delete-orphan",
order_by="MediaAttachmentFile.created"
)
attachment_files = association_proxy("attachment_files_helper", "dict_view",