Delete media files when deleting objects
parent
c1f03c89db
commit
024f71fd79
|
@ -2,11 +2,12 @@ import os
|
|||
from datetime import datetime, timedelta
|
||||
from shortuuidfield import ShortUUIDField
|
||||
|
||||
from django.core.validators import MaxValueValidator, MinValueValidator
|
||||
from django.db import models
|
||||
from django.utils.timezone import now
|
||||
from django.conf import settings
|
||||
from django.core.validators import MaxValueValidator, MinValueValidator
|
||||
from django.dispatch import receiver
|
||||
from django.db import models
|
||||
from django.utils.html import format_html
|
||||
from django.utils.timezone import now
|
||||
|
||||
from network.users.models import User
|
||||
from network.base.helpers import get_apikey
|
||||
|
@ -356,6 +357,16 @@ class Data(models.Model):
|
|||
ordering = ['-start', '-end']
|
||||
|
||||
|
||||
@receiver(models.signals.post_delete, sender=Data)
|
||||
def data_remove_files(sender, instance, **kwargs):
|
||||
if instance.payload:
|
||||
if os.path.isfile(instance.payload.path):
|
||||
os.remove(instance.payload.path)
|
||||
if instance.waterfall:
|
||||
if os.path.isfile(instance.waterfall.path):
|
||||
os.remove(instance.waterfall.path)
|
||||
|
||||
|
||||
class DemodData(models.Model):
|
||||
data = models.ForeignKey(Data, related_name='demoddata')
|
||||
payload_demod = models.FileField(upload_to='data_payloads', blank=True, null=True)
|
||||
|
@ -363,3 +374,10 @@ class DemodData(models.Model):
|
|||
def display_payload(self):
|
||||
with open(self.payload_demod.path) as fp:
|
||||
return fp.read()
|
||||
|
||||
|
||||
@receiver(models.signals.post_delete, sender=DemodData)
|
||||
def demoddata_remove_files(sender, instance, **kwargs):
|
||||
if instance.payload_demod:
|
||||
if os.path.isfile(instance.payload_demod.path):
|
||||
os.remove(instance.payload_demod.path)
|
||||
|
|
Loading…
Reference in New Issue