Skip to content

Commit e88f267

Browse files
committed
Delete images when deleting models.
1 parent 1dc680b commit e88f267

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

comics/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
default_app_config = 'polls.apps.PollsConfig'

comics/apps.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@
33
from django.apps import AppConfig
44

55
class ComicsConfig(AppConfig):
6-
name = 'comics'
6+
name = 'comics'
7+
8+
def ready(self):
9+
import comics.signals

comics/signals.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import os
2+
from django.dispatch import receiver
3+
from django.db.models.signals import pre_delete
4+
from comics.models import Arc, Character, Creator, Issue, Publisher, Team
5+
6+
@receiver(pre_delete, sender=Issue)
7+
def model_pre_delete(sender, **kwargs):
8+
os.remove(kwargs['instance'].cover)
9+
10+
@receiver(pre_delete, sender=Publisher)
11+
def model_pre_delete(sender, **kwargs):
12+
os.remove(kwargs['instance'].logo)
13+
14+
@receiver(pre_delete, sender=Arc)
15+
@receiver(pre_delete, sender=Creator)
16+
@receiver(pre_delete, sender=Team)
17+
@receiver(pre_delete, sender=Character)
18+
def model_pre_delete(sender, **kwargs):
19+
os.remove(kwargs['instance'].image)

0 commit comments

Comments
 (0)