Skip to content

Commit a900747

Browse files
authored
fix: cascade deletion of attachment with evidence (#3083)
1 parent a7458ae commit a900747

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

backend/core/models.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3762,6 +3762,13 @@ def save(self, *args, **kwargs):
37623762
super().save(*args, **kwargs)
37633763
self.revisions.update(is_published=self.is_published)
37643764

3765+
def delete(self, using=None, keep_parents=False):
3766+
for rev in self.revisions.all():
3767+
if rev.attachment:
3768+
rev.attachment.delete(save=False)
3769+
3770+
return super().delete(using=using, keep_parents=keep_parents)
3771+
37653772
@property
37663773
def last_revision(self):
37673774
return self.revisions.order_by("-version").first() or None
@@ -3850,6 +3857,12 @@ def save(self, *args, **kwargs):
38503857

38513858
super().save(*args, **kwargs)
38523859

3860+
def delete(self, using=None, keep_parents=False):
3861+
if self.attachment:
3862+
self.attachment.delete(save=False)
3863+
3864+
return super().delete(using=using, keep_parents=keep_parents)
3865+
38533866
def filename(self):
38543867
return os.path.basename(self.attachment.name)
38553868

0 commit comments

Comments
 (0)