1
0
Fork 0

Delete media files when deleting objects

merge-requests/397/head
Nikos Roussos 2017-08-22 22:07:23 +03:00
parent c1f03c89db
commit 024f71fd79
No known key found for this signature in database
GPG Key ID: BADFF1767BA7C8E1
1 changed files with 21 additions and 3 deletions

View File

@ -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)